安装Rails时“无法构建gem原生扩展”

时间:2012-10-02 14:01:55

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

我是终端的新手所以请耐心等待。已成功完成以下安装(按此特定顺序):

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

当尝试安装Rails(“gem install rails”)时,安装会启动,但会因错误而中断:“无法构建gem native extension”。不知道这是指什么。想法?我还需要事先安装其他东西吗? 在我第一次尝试安装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

2 个答案:

答案 0 :(得分:8)

确保首先安装Xcode的命令行工具,Xcode>偏好>下载>组件。然后将此行添加到您的主文件夹.bash_profile中的~/.bash_profile文件中:

export CC=gcc

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

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

答案 1 :(得分:5)

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

解决问题的正确方法是获取gcc-4.2有很多方法,最好的方法在需求中描述:

rvm get stable
rvm reload
rvm requirements run
rvm reinstall 1.9.3