2011-03-22 118 views
1

我已经尝试终端(OSX 10.6.6)中的以下命令,并最终出现错误。有谁知道如何解决这个问题?无法安装JSON与宝石

 
sudo gem install json 

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

     /usr/local/bin/ruby extconf.rb 
checking for ruby/re.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/usr/local/bin/ruby 
/usr/local/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 
    from /usr/local/lib/ruby/1.9.1/mkmf.rb:833:in `have_header' 
    from extconf.rb:17:in `' 


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/json-1.5.1 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/json-1.5.1/ext/json/ext/generator/gem_make.out 

回答

0

您将需要安装XCode。它可在AppStore上

如果安装了Xcode和您仍然收到此错误,也许你应该尝试使用RVM

+0

嗨,感谢您的回复。我已经安装了XCode(一个附带雪豹OSX安装光盘)。 – katsuya 2011-03-22 21:59:06

+0

你使用macports安装ruby 1.9.1吗? – Shiv 2011-03-22 22:05:37

+0

不,我用rvm。它可能是一个问题吗? – katsuya 2011-03-22 22:17:11

0

你得到这个错误的原因是因为json的宝石包括C/C++的扩展需要在你的机器上编译才能运行。

只需安装XCode就不会修复它,您需要专门安装XCode命令行工具。这是一个编译器/连接器工具链,包括C/C++编译器,make等

有到Xcode的图形用户界面内的菜单内安装它们的选项,看到这个线程的详细信息:

Xcode 4.4 and later install Command Line Tools

0

你应该可以通过运行得到所需的安装工具:

> xcode-select --install