2012-10-02 105 views
7

我是新来的终端,请耐心等待。完成安装成功(在这个特定的顺序)如下:安装Rails时“无法构建gem本机扩展”

  • 的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 


编辑:尤里使用的建议解决。在.bash姿态加入export CC=gcc然后创建一个符号链接正确的编译器,

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

你能后生成输出的相关部分? –

+0

但当然,看到更新后的帖子。 –

+1

这有点奇怪 - 我只用最新的XCode在我的Mac上进行了检查,gcc是/ usr/bin/gcc,而不是/usr/bin/gcc-4.2。唉,我不知道配置从哪里获得gcc-4.2。不,我不知道你可以在安装过程中改变它。但是,在尝试构建gem之前,您可以通过设置CC环境变量来覆盖已配置的编译器。 –

回答

8

确保您有Xcode的命令行工具第一次安装时,Xcode>首选项>下载>组件。那么这行添加到您的.bash_profile文件在您的个人文件夹~/.bash_profile

export CC=gcc 

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

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

+0

谢谢!事实证明,这正是我所需要的。查看更新的帖子。 –

+0

我不必触碰bash_profile。只需键入 'xcode-select --install' 似乎已经修复它。 在[小牛安装Rails上的Stackoverflow线程](http://stackoverflow.com/questions/19580685/installing-rails-on-mavericks)很有帮助。 –

5

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

正确的方法来解决它是让gcc-4.2有它的许多方法和最好的在需求描述:

rvm get stable 
rvm reload 
rvm requirements run 
rvm reinstall 1.9.3 
相关问题