我刚刚将我的 Mac OS X 升级到 10.5。在使用了 Apache 后,一切都运行良好,除了 ruby 和 rails。这是我看到的
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'
但是 /usr/bin/ruby 中的 ruby 似乎运行良好。这不是正在使用的那个。
显然,我必须先让 ruby 工作,然后 rails 才能工作。我在谷歌上搜索 ruby 问题找不到太多帮助。我甚至不确定 OS X 告诉我什么。
有什么建议么?
谢谢!
答案1
/usr/bin/ruby test.rb 应使用 10.5 系统安装的 Ruby 解释器。由于您已升级,因此我将重新安装非系统版本的 Ruby,指示。
答案2
您可能没有使用 Tiger 上捆绑的 ruby 版本,现在您已升级到 Leopard,提供的 ruby 在路径中已占据优先地位。最明显的症状是您的 gem(使用安装它们的 ruby 解释器的路径进行硬编码)将会丢失。
您要么手动安装了 ruby,要么使用了类似的工具fink
。
我的建议是安装麦金塔,然后安装ruby
,和rb-rubygems
ports,然后确保/opt/local/bin
先行/usr/bin
和/usr/local/bin