我刚刚将我的 Mac OS X 升级到 10.5。除了 ruby 和 rails 之外,在对 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'
但是,/usr/bin/ruby 中的 ruby 似乎工作正常。那不是被使用的那个。
我显然必须在 rails 工作之前让 ruby 工作。我在谷歌上搜索红宝石问题时找不到太多帮助。我什至不确定 OS X 告诉我什么。
有什么建议么?
谢谢!
/usr/bin/ruby test.rb 应该使用 10.5 系统安装的 Ruby 解释器。既然你升级了,我会重新安装你的非系统版本的 Ruby,说明。
您可能没有在 Tiger 上使用捆绑的 ruby 版本,现在您已经升级到 Leopard,提供的 ruby 在路径中具有优先权。最明显的症状是您的 gem(使用安装它们的 ruby 解释器的路径硬编码)将丢失。
您要么手动安装了 ruby,要么使用了类似
fink
.我的建议是安装MacPorts,然后安装
ruby
和rb-rubygems
ports,然后确保/opt/local/bin
之前/usr/bin
和/usr/local/bin
Leopard (Apple) 版本的 ruby 带有开发者工具。您将在 rails 网站的 入门部分看到这一点。只需按照安装
gem update rails
。虽然我认为我必须做一些额外的步骤,比如gem update
一般情况下才能让一切正常工作。还因为您已经在 10 上安装了导轨。?并且可能在此过程中修复了 ruby(但不适用于 10.5,因为如果您在 <10.3.9,您会发现它与 10.5 不兼容),您可能需要也可能不需要删除二进制文件。在我的 10.5.x 机器上,ruby(来自开发工具)位于
/usr/bin/
not/usr/local/bin/
.