在OSX 10.8.4上使用无法识别的选项'-arch'安装json-1.8.0时失败

时间:2013-08-14 20:18:04

标签: ruby macos gem rvm

我正在尝试正确设置我的ruby环境,但在尝试bundle install我的测试应用时仍然收到错误。

我在尝试bundle install时首先遇到错误:

$ rails new app
// [...] 
run bundle install

Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.0) 
Using i18n (0.6.5) 
Using multi_json (1.7.9) 
Using activesupport (3.2.9) 
Using builder (3.0.4) 
Using activemodel (3.2.9) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.3) 
Using tilt (1.4.1) 
Using sprockets (2.2.2) 
Using actionpack (3.2.9) 
Using mime-types (1.23) 
Using polyglot (0.3.3) 
Using treetop (1.4.14) 
Using mail (2.4.4) 
Using actionmailer (3.2.9) 
Using arel (3.0.2) 
Using tzinfo (0.3.37) 
Using activerecord (3.2.9) 
Using activeresource (3.2.9) 
Using bundler (1.3.5) 
Using coffee-script-source (1.6.3) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Installing json (1.8.0) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/ryan/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb 
creating Makefile

make
compiling generator.c
gcc-4.6: error: x86_64: No such file or directory
gcc-4.6: error: unrecognized option '-arch'
make: *** [generator.o] Error 1


Gem files will remain installed in /Users/ryan/.rvm/gems/ruby-1.9.3-p327/gems/json-1.8.0 for inspection.
Results logged to /Users/ryan/.rvm/gems/ruby-1.9.3-p327/gems/json-1.8.0/ext/json/ext/generator/gem_make.out
An error occurred while installing json (1.8.0), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.0'` succeeds before bundling.

在错误消息的最后一行之后,我尝试gem install json -v '1.8.0',但得到以下内容:

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

        /Users/ryan/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
creating Makefile

make
compiling generator.c
gcc-4.6: error: x86_64: No such file or directory
gcc-4.6: error: unrecognized option '-arch'
make: *** [generator.o] Error 1


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

任何帮助将不胜感激...我目前使用以下版本的rvm,ruby + rails:

$ ruby -v
ruby 1.9.3p327 (2012-11-10) [x86_64-darwin12.2.0]

$ rails -v
Rails 3.2.9

$ rvm -v
rvm 1.22.1 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

如果您需要任何其他信息,请与我们联系。

5 个答案:

答案 0 :(得分:9)

听起来这可能是二进制红宝石造成的,请尝试:

rvm get head
rvm reinstall 1.9.3-p327 --disable-binary

答案 1 :(得分:5)

删除gemfile.lock并运行bundle

答案 2 :(得分:0)

如果你安装了rvm,这应该可行:

rvm reinstall 2.0.0-p247 --disable-binary

如果您刚刚更新了OS X,您可能需要先尝试其他一些事情。请参阅thoughtbot's guide

答案 3 :(得分:0)

我遇到了这个问题,我决定更改Ruby for 1.9.3p327的默认版本。

离开项目文件夹并发出命令:

rvm use 1.9.3-P327 --default

我不知道为什么会这样,因为rvm修改了项目中的版本,但是在执行它之后没有出现错误“#install;&#39;

答案 4 :(得分:0)

我认为你应该为你的rvm设置正确的版本。例如,如果你在ruby 1.9.3中开发了你的应用程序,你应该设置 &#34; rvm使用1.9.3 &#34;。然后你可以输入&#34; 捆绑安装&#34;命令。也许这会对你有所帮助。

由于