Ruby on rails 为什么可以';我是否可以使用RVM在Lion上安装导轨?
我在尝试使用RVM在OSXLion上安装Rails时遇到了问题 到目前为止,我已经做了以下工作:Ruby on rails 为什么可以';我是否可以使用RVM在Lion上安装导轨?,ruby-on-rails,ruby,macos,rvm,Ruby On Rails,Ruby,Macos,Rvm,我在尝试使用RVM在OSXLion上安装Rails时遇到了问题 到目前为止,我已经做了以下工作: 已安装Mac OS X Lion版本10.7(内部版本11A459e) 已安装XCode 4.1开发人员预览版5 已安装RVM 使用命令RVM install 1.8.7通过RVM安装了Ruby的1.8.7版本。注意:我需要使用1.8.7,而不是1.9.2 使用命令rvm1.8.7切换到Ruby的1.8.7版本 使用命令rvm gemset create rails3创建了一个新的gemset 使用
RVM install 1.8.7
通过RVM安装了Ruby的1.8.7版本。注意:我需要使用1.8.7,而不是1.9.2rvm1.8.7
切换到Ruby的1.8.7版本rvm gemset create rails3
创建了一个新的gemsetrvm use 1.8切换到新的gemset。7@rails3
gem install Rails
,但出现以下错误:
/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60:[BUG]分段错误export CC=/usr/bin/gcc-4.2
”。有了这些,一切都顺利进行
如果您不想永久导出CC
,可以执行CC=/usr/bin/gcc-4.2 rvm安装1.8.7
如果您已经安装了ruby 1.8.7。只要在使用“导出CC=/usr/bin/gcc-4.2”之前,通过执行“
rvm删除1.8.7
”如果仍然不起作用,请确保删除1.8.7,如果您已经安装了它,请在使用“导出CC=/usr/bin/gcc-4.2
”之前执行该操作。
这就变成了:
CC=/usr/bin/gcc-4.2 rvm安装ruby-1.8.7--force
如果您在开发工作流中使用rvm,我在OS X Lion的.rvmrc文件中添加了一个修复程序
(更新的文件名)这与RVM无关,但如果您想要的是Lion的本地开发环境,您可能想尝试一下,它是一个免费的、开源的Apache、MySQL、Ruby、Rails一体式安装程序,它不需要编译,而且是自包含的,因此如果您不喜欢它,只需删除安装目录即可。免责声明:我是RubyStack开发者之一:)
CC=/usr/bin/gcc-4.2 rvm安装1.8.7
对我不起作用,我使用了CC=/usr/bin/gcc-rvm安装1.8.7
,它确实(用“whichgcc
”代替了“export CC=/usr/bin/gcc-4.2
“do”export CC=gcc
”(应安装xCode 4.2.x)。使用macport和ruby-1.9.x版本。
我确实用ruby gem成功安装了rails。如果您安装了Xcode 4.2,它实际上不再安装非LLVM gcc,因此您必须添加它。由于某些原因,在安装4.2后降级到4.1无法正常工作(至少我和其他人没有遇到类似问题) 在经历了一段时间的颠簸之后,我终于明白了这一点:
rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
这对我来说适用于RVM1.8.6、OSX10.7.2和gcc-4.2版本4.2.1(Apple build 5666)
如果您已经安装了Xcode 4.1,请不要急于升级到4.2,您应该会没事的。即使有本页上的所有其他建议,我仍然会遇到一些问题,感到沮丧,所以我说“去它的!”并使用Ruby 1.8.7提供的系统:
rvm use system
CC=gcc-4.2 rvm install 1.8.7
您需要使用sudo来安装gems,但仍然没有那么麻烦。当我在我的~/.rvmrc中的注释行时,我只有对archx86_64有同样的问题
rvm_archflags="-arch x86_64"
打开一个新终端并再次尝试安装ruby-1.8.7
rvm install 1.8.7
它成功了。我的解决方案是覆盖终端中的/usr/bin/gcc符号链接。我是这样做的:
这不仅修复了我的RVM安装,还确保了使用本机扩展(如rmagick)安装gems的工作。我的系统上也有同样的问题。我安装了Apple提供的工具,该工具附带LLVM编译器,但没有LLVM免费工具 Ruby 1.8.7不适用于LLVM编译器,即使是
CC=clang
,因此安装一个无LLVM的gcc就可以解决这个问题
此处列出了多个选项:
长话短说,安装GCC v4.2时使用:
然后安装ruby 1.8.7:
rvm use system
CC=gcc-4.2 rvm install 1.8.7
检查您拥有的gcc版本,如下所示:
ls -Al `which gcc-4.2`
我按照这里的指示:
然后重新安装:
再次检查gcc的路径(用于CC=):
(可选)您可以在.bashrc中进行设置,例如:
export CC=/usr/bin/gcc-4.2
(可选)删除任何旧版本的ruby
rvm remove 1.8.7
然后:
或者如果您在个人资料中设置了CC
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
请注意rvm安装上的标志。我在验证ftp服务器上的校验和时遇到问题,tck和其他一些问题。您可以忽略这些标志
另外:您可能需要删除gemset的旧版本:
rvm gemset delete <gemset>
希望这能有所帮助。您正在走一条非常前沿的道路,添加1.8.7可能会使事情变得复杂。我建议尝试安装1.9.2,然后安装Rails,看看效果如何。然后我会尝试改装1.8.7和Rails。照目前的情况,您正在使用两款尚未发布的软件,因此您会发现支持可能没有跟上然而,“分段错误”通常是针对64位系统的32位构建的结果,这可能会在意外的系统版本中发生。研究
rvm info
的输出,看看它说了什么。它可能包含一些线索。正如公平警告一样,Lion在保密协议下,因此您需要
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
rvm gemset delete <gemset>
gem install bundler
bundle install