首页 文章

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

提问于
浏览
83

我正在尝试使用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/66261101351927809https://github.com/carlhuda/bundler/issues/1058

14 回答

  • 22

    即使有了这个页面上的所有其他建议,我仍然会遇到段错误并感到沮丧,所以我说“搞砸了!”并使用系统提供的Ruby 1.8.7:

    rvm use system
    

    你需要使用sudo来安装宝石,但仍然可以减少头痛 .

  • 1

    这与RVM无关,但如果您正在寻找的是Lion的本地开发环境,您可能需要尝试RubyStack这是一个免费的,开源的一体化安装程序,适用于Apache,MySQL,Ruby, Rails等 . 它不需要编译,它是独立的,所以如果你不喜欢它,你可以简单地删除安装目录,你就完成了 . 免责声明:我是RubyStack开发人员之一:)

  • 0

    CC=/usr/bin/gcc-4.2 rvm install 1.8.7 对我不起作用,我使用 CC=/usr/bin/gcc rvm install 1.8.7 和它做了(检查“哪个 gcc ”)

  • 0

    固定它!

    答案实际上是我上面发布的一个链接 . 在安装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

  • 24

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

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

    • 从App Store安装Xcode 4.2

    • 使用OSX gcc installer安装darwin gcc

    • 安装REE,确保删除以前尝试的任何痕迹:

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

    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的冲动,您应该没问题 .

  • 77

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

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

  • 7

    如果已经安装了1.8.7,请确保在使用“ export CC=/usr/bin/gcc-4.2 " by doing " rvm remove 1.8.7 ”之前删除1.8.7

  • 4

    我的系统遇到了同样的问题 . 我安装了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
    
  • 0

    而不是“ export CC=/usr/bin/gcc-4.2 " do " export CC=gcc ”(应安装xCode 4.2.x) .

  • 6

    检查你有哪个版本的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
    

    或者如果您在 Profiles 中设置了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
    

    希望这可以帮助 .

  • 0

    使用macport和ruby-1.9.x版本 . 我用ruby gem成功安装了rails .

  • 0

    我只对arch x86_64 有同样的问题,当我在 ~/.rvmrc 中评论行时

    rvm_archflags="-arch x86_64"
    

    打开一个新终端并尝试再次安装ruby-1.8.7

    rvm install 1.8.7
    

    它很成功 .

  • 2

    如果您在开发工作流程中使用RVM,我在OS X Lion的.rvmrc文件中添加了一个修复程序 .

    https://gist.github.com/1112962

    (更新的文件名)

  • 1

    我的解决方案是覆盖终端中的/ usr / bin / gcc符号链接 . 我是这样做的:

    https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc

    这不仅修复了我的RVM安装,还确保安装带有原生扩展的gems(如rmagick) .

相关问题