Rails安装错误:无法构建本地扩展宝石。

4
我正在尝试在我的Mac上安装Rails,但每次我在命令行中键入"sudo gem install rails"时,都会收到以下错误消息。我已经卡住了一段时间,希望你能帮忙。
    Building native extensions.  This could take a while...
    ERROR:  Error installing rails:
ERROR: Failed to build gem native extension.
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
    mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h


    Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/atomic-1.1.14 for inspection       
    Results logged to /Library/Ruby/Gems/2.0.0/gems/atomic-1.1.14/ext/gem_make.out
7个回答

3
如果您想安装Rails 4.0,需要使用RubyGems 2.0.3版本,因此您需要使用以下命令更新您的系统。
gem update --system 2.0.3

然后继续进行安装。

希望这能帮到你。


这个东西会影响我的 Rails 3 应用程序吗? - Sohair Ahmad

2
我建议您使用rvm。它应该能轻松解决问题。或者您可以深入挖掘一下,看看是否能找到所说的ruby.h文件。但我个人认为后者会很麻烦。

我们如何使用dvm更改ruby的版本?...抱歉,我对这种东西还不熟悉。 - user1809336
抱歉,直到现在才看到评论,请执行“ruby use 2.0”或您想要的任何版本。 - stanley

2
在终端窗口中输入以下命令以升级xcode -
    xcode-select --install

这应该能解决你的问题。


0

如果您在升级Xcode后仍然遇到问题,可能是因为:

Xcode 5.1中的Apple LLVM编译器将无法识别的命令行选项视为错误。在构建Python本地扩展和Ruby Gems时已经发现了这个问题,其中一些无效的编译器选项当前被指定。

为了解决这个问题,请将ARCHFLAGS环境变量设置为将错误降级为警告。

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

就我个人而言,在安装json gem时遇到了这个问题,我执行了以下操作:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json

问题得到了解决。


0

没错,RVM非常好用,当你需要在不同的Rails版本之间切换时,它会派上用场。


0

0

我也遇到了同样的问题。我使用 RVM 将 Ruby 版本从 2.0.0-p195 升级到 2.0.0-p353(确保您告诉 RVM 使用新版本作为默认版本)。之后,我再次运行 gem install rails,一切正常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接