【问题标题】:"Failed to build gem native extension" when installing Rails安装 Rails 时“无法构建 gem 原生扩展”
【发布时间】:2012-10-02 14:01:54
【问题描述】:

我是 Terminal 的新手,所以请多多包涵。已成功完成以下安装(按此特定顺序):

  • xCode 4.5
  • RVM 1.16
  • GCC 4.2.1
  • Ruby 1.9.3

当尝试安装 Rails(“gem install rails”)时,安装开始但随后因错误而中断:“无法构建 gem 原生扩展”。不知道这是指什么。想法?我还需要预先安装其他东西吗?
在我第一次尝试安装 Rails 时,我不小心用 sudo 运行了它。这会影响什么吗?

编辑:和输出 -

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /Users/staffanestberg/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
creating Makefile

make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1

Gem files will remain installed in /Users/staffanestberg/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5 for inspection.
Results logged to /Users/staffanestberg/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/ext/json/ext/generator/gem_make.out


编辑:使用 iouri 的建议解决。在 .bash-profile 中添加 export CC=gcc 然后为正确的编译器创建符号链接,

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

【问题讨论】:

  • 你能发布构建输出的相关部分吗?
  • 当然,请参阅更新后的帖子。
  • 这有点奇怪——我刚刚用最新的 XCode 在这里检查了我的 Mac,而 gcc 是 /usr/bin/gcc,而不是 /usr/bin/gcc-4.2。唉,我不知道配置从哪里得到 gcc-4.2。不,我不知道您可以在安装过程中更改它。但是,您可以在尝试构建 gem 之前通过设置 CC 环境变量来覆盖配置的编译器。
  • 好的。感谢您的调查。
  • 我知道有很多人在使用 GCC 4.2 在 Apple 的 Mac 上编译 Ruby on Rails 时遇到问题……看看这个可能吗? stackoverflow.com/questions/11710568/…

标签: ruby-on-rails ruby xcode gcc rvm


【解决方案1】:

确保首先安装了 Xcode 的命令行工具,Xcode > Preferences > Downloads > Components。然后将此行添加到您的主文件夹~/.bash_profile 中的.bash_profile 文件中:

export CC=gcc

仔细检查您的 /usr/bin(很可能)中有 gcc(可能是符号链接),并且它指向一个有效的 gcc 编译器,例如:gcc -> llvm-gcc-4.2

您可能需要重新启动终端才能使此更改生效。

【讨论】:

【解决方案2】:

Ruby 尚未完全准备好进行 LLVM 编译,这包括 clang,Fibers 至少存在一个已知问题,但根据 LLVM 版本,可能会出现其他问题。

修复它的正确方法是获取gcc-4.2,它有很多方法,最好的方法在要求中描述:

rvm get stable
rvm reload
rvm requirements run
rvm reinstall 1.9.3

【讨论】:

    猜你喜欢
    • 2012-09-15
    • 1970-01-01
    • 2014-05-11
    • 2023-03-19
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多