我升级到了 Leopard,除了 Ruby 和 Rails 之外,其他一切都运行良好

我升级到了 Leopard,除了 Ruby 和 Rails 之外,其他一切都运行良好

我刚刚将我的 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-rubygemsports,然后确保/opt/local/bin先行/usr/bin/usr/local/bin

答案3

Leopard (Apple) 版本的 ruby​​ 带有开发者工具。您将在 入门Rails 站点的一部分。只需按照安装即可gem update rails。不过我认为我必须做一些额外的步骤gem update才能让一切正常。

此外,由于您已在 10.? 上安装了 rails,并且可能在此过程中修复了 ruby​​(但不是针对 10.5,因为如果您使用的是 <10.3.9,您会发现它与 10.5 不兼容二进制文件),您可能需要或不需要删除该二进制文件。在我的 10.5.x 机器上,ruby(来自开发工具)/usr/bin/不存在于 中/usr/local/bin/

相关内容