为什么我不能使用RVM在Lion上安装Rails?

Mic*_*ome 83 ruby macos ruby-on-rails rvm

我正在尝试使用RVM在OS X Lion上安装Rails的问题.

到目前为止,我已经完成了以下工作:

  1. 安装了Mac OS X Lion版本10.7(Build 11A459e).
  2. 安装了XCode 4.1 Developer Preview 5.
  3. 已安装的RVM.
  4. 使用该命令通过RVM安装了1.8.7版本的Ruby rvm install 1.8.7.注意:我需要使用1.8.7而不是1.9.2.
  5. 使用该命令切换到1.8.7版本的Ruby rvm 1.8.7.
  6. 使用该命令创建了一个新的gemset rvm gemset create rails3.
  7. 使用该命令切换到新的gemset rvm use 1.8.7@rails3.
  8. 要安装Rails,我运行了命令,gem install rails但是我收到以下错误:

    /Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG]分段错误

尝试运行任何gem命令时会发生同样的错误,所以我认为这不是Rails的问题.

从下面的链接来看,我似乎并不是唯一有这个问题的人:

http://twitter.com/#!/pingles/status/66261101351927809https://github.com/carlhuda/bundler/issues/1058

Mic*_*ome 77

固定它!

答案实际上是我上面发布的一个链接.在安装ruby版本(rvm install 1.8.7)之前,我需要运行" export CC=/usr/bin/gcc-4.2".有了这些,一切都顺利进行.

如果您不想CC永久导出,您可以这样做CC=/usr/bin/gcc-4.2 rvm install 1.8.7

如果你已经安装了ruby 1.8.7.做就是了CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7

  • 使用该导出命令可以更改会话中所有后续命令的CC ...这可能会破坏其他编译.使用`CC =/usr/bin/gcc-4.2 rvm install 1.8.7`只需覆盖CC以进行rvm安装. (3认同)

Mat*_*ers 24

如果你已经安装了Xcode 4.2,它实际上不再安装非LLVM gcc,所以你必须添加它.出于某种原因,在安装4.2之后降级到4.1无法正常工作(至少它不适用于我而其他人也有类似的问题).

在经历了相当多的颠簸之后,这才是我最终的工作:

  1. 从App Store安装Xcode 4.2
  2. 使用OSX gcc安装程序安装darwin gcc
  3. 安装REE,确保删除以前尝试的任何痕迹:

关闭所有打开的终端窗口,打开一个新的和

rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
Run Code Online (Sandbox Code Playgroud)

这适用于rvm 1.8.6,OS X 10.7.2和gcc-4.2版本4.2.1(Apple build 5666).

如果您已经安装了Xcode 4.1,请拒绝升级到4.2的冲动,您应该没问题.


小智 22

如果仍然无效,请添加--force.所以这变成了:

CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force

  • 这对我有用,使用`--force`. (6认同)

Her*_*ric 7

如果你已经安装了它,请确保删除1.8.7,然后再使用" export CC=/usr/bin/gcc-4.2"做" rvm remove 1.8.7"


KAR*_*ván 6

我的系统遇到了同样的问题.我安装了Apple 的Xcode命令行工具,它附带LLVM编译器,没有LLVM免费版.

Ruby 1.8.7不能与LLVM编译器一起使用CC=clang,因此安装LLVM free gcc可以解决问题.

此处列出了多个选项:

https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers

简而言之,用Homebrew安装GCC v4.2 :

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
Run Code Online (Sandbox Code Playgroud)

安装Ruby 1.8.7:

CC=gcc-4.2 rvm install 1.8.7
Run Code Online (Sandbox Code Playgroud)

  • GitHub URL已更改.该命令现在是"brew install https:// raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb". (4认同)