我在尝试使用RVM在OS X Lion上安装Rails时遇到了问题。
到目前为止,我已经完成了以下工作:
rvm install 1.8.7
通过RVM安装了1.8.7版本的Ruby。注意:我需要使用1.8.7而不是1.9.2。rvm 1.8.7
切换到1.8.7版本的Ruby。rvm gemset create rails3
创建新的gemset。rvm use 1.8.7@rails3
切换到新的gemset。要安装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/66261101351927809 和https://github.com/carlhuda/bundler/issues/1058
答案 0 :(得分: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
答案 1 :(得分:24)
如果您安装了Xcode 4.2,它实际上不再安装非LLVM gcc,因此您必须添加它。由于某些原因,在安装4.2之后降级到4.1无法正常工作(至少它不适用于我而其他人也有类似的问题)。
经过相当多的颠簸之后,这才最终为我效力:关闭所有打开的终端窗口,打开一个新窗口并
rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
这适用于rvm 1.8.6,OS X 10.7.2和gcc-4.2版本4.2.1(Apple build 5666)。
如果您已经安装了Xcode 4.1,请拒绝升级到4.2的冲动,您应该没问题。
答案 2 :(得分:22)
如果仍然无效,请添加--force。 所以这就变成了:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
答案 3 :(得分:7)
通过执行“export CC=/usr/bin/gcc-4.2
”
rvm remove 1.8.7
”之前已删除1.8.7已删除
答案 4 :(得分:6)
我的系统遇到了同样的问题。我安装了Apple的Xcode command line工具,它附带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
和然后安装ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
答案 5 :(得分:4)
而不是“export CC=/usr/bin/gcc-4.2
”执行“export CC=gcc
”(应安装xCode 4.2.x)。
答案 6 :(得分:2)
检查您有哪个版本的gcc:
ls -Al `which gcc-4.2`
我按照这里的说明操作: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
brew update
brew tap homebrew/dupes
brew install apple-gcc42
然后重新安装:
再次检查你的gcc路径(用于CC =):
ls -Al `which gcc-4.2`
(可选)您可以在.bashrc中设置此项,例如:
export CC=/usr/bin/gcc-4.2
(可选)删除任何旧版本的ruby
rvm remove 1.8.7
然后:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
或者如果您在个人资料中设置了CC
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
注意rvm安装上的标志。我在验证ftp服务器上的校验和以及tck的一些问题时遇到了麻烦。您可以省略这些标志。
另外:您可能需要删除旧版本的gemset:
rvm gemset delete <gemset>
然后
gem install bundler
bundle install
希望这有帮助。
答案 7 :(得分:1)
使用macport和ruby-1.9.x版本。 我用ruby gem成功安装了rails。
答案 8 :(得分:1)
我在〜/ .rvmrc
中评论行时,仅针对arch x86_64 存在同样的问题rvm_archflags="-arch x86_64"
打开一个新终端并尝试再次安装ruby-1.8.7
rvm install 1.8.7
成功了。
答案 9 :(得分:0)
答案 10 :(得分:0)
这与RVM无关,但如果您正在寻找的是Lion的本地开发环境,您可能需要尝试RubyStack这是一个免费的,开源的一体化安装程序对于Apache,MySQL,Ruby,Rails等。它不需要编译,它是独立的,所以如果你不喜欢它,你可以简单地删除安装目录,你就完成了。免责声明:我是RubyStack开发人员之一:)
答案 11 :(得分:0)
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
对我不起作用,我使用CC=/usr/bin/gcc rvm install 1.8.7
并且确实如此(使用“gcc
”进行检查)
答案 12 :(得分:0)
即使有了这个页面上的所有其他建议,我仍然会遇到段错误并感到沮丧,所以我说“搞砸了!”并使用系统提供的Ruby 1.8.7:
rvm use system
你需要使用sudo来安装宝石,但仍然可以减少头痛。
答案 13 :(得分:0)
我的解决方案是覆盖终端中的/ usr / bin / gcc符号链接。我是这样做的:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
这不仅修复了我的RVM安装,还确保安装带有原生扩展的gems(如rmagick)。