为什么我不能使用RVM在Lion上安装Rails?
我遇到了试图使用RVM在OS X Lion上安装Rails的问题。
到目前为止,我做了以下工作:
- 安装了Mac OS X Lion版本10.7(内部版本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
切换到Ruby的1.8.7版本。 - 使用命令
rvm gemset create rails3
创build一个新的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
修复!
答案实际上是我在上面发布的链接之一。 在安装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
如果你已经安装ruby1.8.7。 只要执行CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
如果你已经安装了Xcode 4.2,它实际上不再安装非LLVM gcc,所以你必须添加它。 安装4.2后,出于某种原因降级到4.1不能正常工作(至less它不适合我,其他人也有类似的问题)。
经过了一番颠簸之后,终于为我效力了:
- 从App Store安装Xcode 4.2
- 使用OSX gcc安装程序安装darwin gcc
- 安装稀土元素确保您删除以前尝试的任何痕迹:
closures任何打开的terminal窗口,打开一个新的和
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,你应该没问题。
如果这仍然不起作用,添加 – 力量。 所以这成为:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
如果你使用“ rvm remove 1.8.7
”,在使用“ export CC=/usr/bin/gcc-4.2
”之前已经安装了rvm remove 1.8.7
我的系统上有同样的问题。 我安装了Apple提供的LLVM编译器的Xcode命令行工具,没有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
然后安装ruby1.8.7:
CC=gcc-4.2 rvm install 1.8.7
代替“ export CC=/usr/bin/gcc-4.2
”做“ export CC=gcc
”(应该安装xCode 4.2.x)。
检查你有这样的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
然后重新安装:
再次检查你的gccpath(用于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 install上的标志。 我在validationftp服务器上的校验和时遇到了麻烦,有些问题与tck不一致。 您可能可以省略这些标志。
另外:您可能需要删除旧版本的gemset:
rvm gemset delete <gemset>
然后
gem install bundler bundle install
希望这可以帮助。
使用macport和ruby-1.9.x版本。 我成功地安装与rubygem轨。
当我在〜/ .rvmrc中注释行时,我只有arch x86_64的问题
rvm_archflags="-arch x86_64"
打开一个新的terminal,并试图再次安装ruby-1.8.7
rvm install 1.8.7
这是成功的。
这与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
”)
即使在这个页面上的所有其他build议,我仍然越来越segfaults和沮丧,所以我说:“拧它! 并使用系统提供的Ruby 1.8.7:
rvm use system
你需要使用sudo来安装gem,但是还是less花点头痛。
我的解决scheme是重写terminal中的/ usr / bin / gcc符号链接。 以下是我如何做到的:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
这不仅解决了我的RVM安装问题,而且还确保使用原生扩展(如rmagick)安装gem。