我正在尝试使用RVM在OS X Lion上安装Rails的问题 .
到目前为止,我已经完成了以下工作:
-
安装了Mac OS X Lion版本10.7(Build 11A459e) .
-
已安装的XCode 4.1开发人员预览版5 .
-
已安装的RVM .
-
使用命令
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
14 回答
即使有了这个页面上的所有其他建议,我仍然会遇到段错误并感到沮丧,所以我说“搞砸了!”并使用系统提供的Ruby 1.8.7:
你需要使用sudo来安装宝石,但仍然可以减少头痛 .
这与RVM无关,但如果您正在寻找的是Lion的本地开发环境,您可能需要尝试RubyStack这是一个免费的,开源的一体化安装程序,适用于Apache,MySQL,Ruby, Rails等 . 它不需要编译,它是独立的,所以如果你不喜欢它,你可以简单地删除安装目录,你就完成了 . 免责声明:我是RubyStack开发人员之一:)
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
对我不起作用,我使用CC=/usr/bin/gcc rvm install 1.8.7
和它做了(检查“哪个gcc
”)固定它!
答案实际上是我上面发布的一个链接 . 在安装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
如果你已经安装了Xcode 4.2,它实际上不再安装非LLVM gcc,所以你必须添加它 . 由于某些原因,在安装4.2之后降级到4.1无法正常工作(至少它不适用于我而其他人也有类似的问题) .
在经历了相当多的颠簸之后,这才是我最终的工作:
从App Store安装Xcode 4.2
使用OSX gcc installer安装darwin gcc
安装REE,确保删除以前尝试的任何痕迹:
关闭所有打开的终端窗口,打开一个新的和
这适用于rvm 1.8.6,OS X 10.7.2和gcc-4.2版本4.2.1(Apple build 5666) .
如果您已经安装了Xcode 4.1,请拒绝升级到4.2的冲动,您应该没问题 .
如果仍然无效,请添加--force . 所以这变成了:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
如果已经安装了1.8.7,请确保在使用“
export CC=/usr/bin/gcc-4.2
" by doing "rvm remove 1.8.7
”之前删除1.8.7我的系统遇到了同样的问题 . 我安装了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:
然后安装ruby 1.8.7:
而不是“
export CC=/usr/bin/gcc-4.2
" do "export CC=gcc
”(应安装xCode 4.2.x) .检查你有哪个版本的gcc:
我按照这里的说明操作:http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
然后重新安装:
再次检查你的gcc路径是什么(用于CC =):
(可选)您可以在.bashrc中设置它,例如:
(可选)删除任何旧版本的ruby
然后:
或者如果您在 Profiles 中设置了CC
注意rvm安装上的标志 . 我在验证ftp服务器上的校验和以及tck的一些问题时遇到了麻烦 . 您可以省略这些标志 .
另外:您可能需要删除旧版本的gemset:
然后
希望这可以帮助 .
使用macport和ruby-1.9.x版本 . 我用ruby gem成功安装了rails .
我只对arch x86_64 有同样的问题,当我在 ~/.rvmrc 中评论行时
打开一个新终端并尝试再次安装ruby-1.8.7
它很成功 .
如果您在开发工作流程中使用RVM,我在OS X Lion的.rvmrc文件中添加了一个修复程序 .
https://gist.github.com/1112962
(更新的文件名)
我的解决方案是覆盖终端中的/ usr / bin / gcc符号链接 . 我是这样做的:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
这不仅修复了我的RVM安装,还确保安装带有原生扩展的gems(如rmagick) .