使用Xcode 4.2 GM(新款MacBook)在Lion 10.7.1上使用RVM编译Ruby 1.8.7后出现错误。
它编译得很好,但是当我尝试安装任何gem时,我得到以下内容:
gem install bundler
/Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Bus Error
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0]
Abort trap: 6
更新:最后我希望安装Xcode 4.2,安装了Ruby 1.8.7,1.9.x的RVM,并且一切正常。
答案 0 :(得分:24)
由于我不得不解析其中的几个答案,以便使用XCode 4.2,我想我会把它们放在一起:
export CC=gcc-4.2
添加到〜/ .bash_profile或同等版本(不要忘记重新加载)rvm implode" then re-install rvm
http://beginrescueend.com/ 此时我能够安装ruby-1.8.7(以及ruby-1.9.2),并实际安装我的宝石。
答案 1 :(得分:3)
所以nuking RVM(rvm implode
)并重新安装没有任何区别。我最终安装了Xcode 4.2,然后安装了GCC编译器,然后覆盖了Xcode编译器。
以下是谷歌搜索的步骤。
安装Xcode 4.2.x
从https://github.com/kennethreitz/osx-gcc-installer
安装GCC独立编译器注意:Xcode 4.3 beta最近发布。我正在测试这是否解决了编译问题。
答案 2 :(得分:2)
Multiple articles表示Ruby不喜欢使用LLVM进行编译。权宜之计的措施是彻底删除RVM安装 - 链接的文章如何说 - 然后用普通的GCC重新编译Ruby。真正的解决方案必须来自Apple / LLVM或Ruby团队。
答案 3 :(得分:2)
我通过
解决了这个问题export CC=gcc
添加到〜/ .bash_profile,source ~/.bash_profile
),rvm install 1.9.3
,rvm ruby-1.9.3-rc1
,gem update --system
,最后gem install bundler
问题在于Xcode 4.2.x版本。如果您运行rvm get head
,您将看到此消息“请勿使用Xcode版本4.2.x.它目前无法构建多个红宝石和宝石......”。
我没有ruby v1.8.7的解决方案。
我希望它有所帮助。
答案 4 :(得分:1)
我需要在这台机器上使用Xcode,所以独立的gcc并不会为我做这件事。
在其他海报中,我按照RVM更新发布说明末尾的建议进行了操作。
注意,我不需要删除RVM。我成功删除Xcode 4.2.1(完全),重新安装Xcode 4.1,然后执行CC=/usr/bin/gcc-4.2 rvm install 1.8.7
技巧。在我的情况下,我将export CC="/usr/bin/gcc-4.2"
放在我的个人资料中以节省一些打字,同时还设置了各种宝石。
这也适用于Ruby Enterprise Edition(ree-1.8.7-2011.03),它也失败了。
答案 5 :(得分:1)
您可以在此处下载查找独立GCC安装程序说明:https://github.com/kennethreitz/osx-gcc-installer
这为您提供了一个非基于llvm的gcc安装,而不必乱用Xcode。
然后您可以使用命令
export CC=/usr/bin/gcc-4.2
这允许您拥有最新的X代码用于OSX目的,并且仍然有一个快乐的gcc版本的ruby。
答案 6 :(得分:0)
rvm安装后文档说:
** Lion用户:不要使用Xcode Version 4.2.x for OS X Lion。它目前无法构建几个红宝石和宝石,以及几个Homebrew和Macports包。 Xcode版本4.1(4B110)的工作原理。 您可以在以下位置找到适用于OS X Lion的Xcode 4.1: https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.1_for_lion/xcode_4.1_for_lion.dmg
这对我有用。