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

Sta*_*erg 7 ruby xcode gcc ruby-on-rails rvm

我是Terminal的新手,请耐心等待.已成功完成以下安装(按此特定顺序):

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

当试图安装Rails("创业板安装导轨")安装启动,但随后与错误而中断:"无法建立宝石原生扩展".不知道这是指什么.想法?我需要事先安装其他东西吗?
在我第一次尝试安装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
Run Code Online (Sandbox Code Playgroud)


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

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
Run Code Online (Sandbox Code Playgroud)

小智 8

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

export CC=gcc
Run Code Online (Sandbox Code Playgroud)

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

您可能必须重新启动终端才能使此更改生效.


mpa*_*pis 5

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

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

rvm get stable
rvm reload
rvm requirements run
rvm reinstall 1.9.3
Run Code Online (Sandbox Code Playgroud)