Я обновился до леопарда и все работает отлично, за исключением рубина и рельсов
Я только что обновил свой Mac OS X до 10.5. После небольшой любви к Apache все прекрасно работает, кроме рубина и рельсов. Это то, что я вижу
Macintosh:~ TAmoyal$ ruby test.rb
-bash: /usr/local/bin/ruby: cannot execute binary file
Macintosh:bin TAmoyal$ file ruby
ruby: Mach-O executable i386
Macintosh:~ TAmoyal$ ruby
-bash: /usr/local/bin/ruby: cannot execute binary file
Macintosh:~ TAmoyal$ rails
/usr/local/bin/rails: line 9: require: command not found
/usr/local/bin/rails: line 11: version: command not found
/usr/local/bin/rails: line 13: syntax error near unexpected token `('
/usr/local/bin/rails: line 13: `if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then'
Однако ruby в /usr/bin/ruby работает нормально. Это не тот, который привыкает.
Очевидно, мне нужно заставить рубин работать до того, как рельсы заработают Я не мог найти большую помощь в поиске рубиновой проблемы. Я даже не совсем уверен, что OS X говорит мне.
Какие-либо предложения?
Спасибо!
3 ответа
/usr/bin/ruby test.rb должен использовать установленный в системе 10.5 интерпретатор Ruby. Так как вы обновились, я бы переустановил вашу несистемную версию Ruby, инструкции.
Leopard (Apple) версия ruby поставляется с инструментами разработчика. Вы увидите это в начальной части сайта рельсов. Просто следуйте установке с gem update rails
, Хотя я думаю, что я должен был сделать какой-то дополнительный шаг, как gem update
в общем чтобы все заработало.
ТАКЖЕ так как вы установили рельсы на 10.? и предположительно исправил ruby в процессе (но не для 10.5, поскольку, если вы были на уровне <10.3.9, вы обнаружите, что он не совместим с 10.5), вы можете или не должны удалять двоичный файл. На моей машине 10.5.x ruby (из инструментов разработчика) живет в /usr/bin/
не /usr/local/bin/
,
Вероятно, вы не использовали встроенную версию ruby на Tiger, теперь, когда вы обновились до Leopard, предоставленный рубин имеет преимущество в пути. Наиболее очевидным симптомом этого является отсутствие ваших драгоценных камней (которые жестко запрограммированы на пути интерпретатора ruby, на который они были установлены).
Вы либо вручную установили ruby, либо использовали что-то вроде fink
,
Я рекомендую установить MacPorts, а затем установить ruby
, а также rb-rubygems
порты, затем убедитесь, что /opt/local/bin
предшествует /usr/bin
а также /usr/local/bin