Gem :: Ext :: BuildError:错误:无法构建gem原生扩展。 - 优胜美地

时间:2015-05-09 22:54:34

标签: ruby-on-rails gem bundler

我正在使用Rails 4. Bundle一直工作到昨天,因为不同的错误我不得不重新安装Bundler。现在,当我运行“bundle install”时,成功安装了几个gem,然后我收到此错误消息:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/local/bin/ruby -r ./siteconf20150509-3462-k6ug3q.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
make: gcc-4.2: No such file or directory
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.0.0/gems/json-    1.8.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-   10/2.0.0-static/json-1.8.2/gem_make.out
An error occurred while installing json (1.8.2), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.2'` succeeds before bundling.

然后我尝试'gem install json -v'1.8.2'并收到此错误消息:

Building native extensions.  This could take a while...
/usr/local/lib/ruby/site_ruby/2.0.0/rubygems/ext/builder.rb:73: warning:     
Insecure world writable dir /usr/local/lib/ruby/gems/2.0.0 in PATH, mode 040777
ERROR:  Error installing json:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby -r ./siteconf20150509-3898-12pmbxe.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
make: gcc-4.2: No such file or directory
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.0.0/gems/json-1.8.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-    10/2.0.0-static/json-1.8.2/gem_make.out

我不知道如何解决这个问题。我尝试了几种解决方案,包括:

- “rvm implode”

- “sudo gem update --system”

- “sudo gem update --system --no-user-install”

- “sudo chmod 755 /usr/local/lib/ruby/gems/2.0.0/gems”

- “xcode-select --install”

- 运行磁盘修复

我读了一些关于修改路径和bash配置文件的内容,但我不清楚如何做到这一点。

提前谢谢!已经花了2个小时试图解决这个问题。

2 个答案:

答案 0 :(得分:0)

在这个堆栈问题中回答:Insecure world writable dir /Users/username in PATH, mode 040777 when running Ruby commands

  

您的主文件夹只能由您自己编写,而不能由其他任何人编写。宝石抱怨这个的原因是你的PATH中有你不安全的主文件夹中的文件夹,这意味着任何想要的人都可以通过重命名/移动.rvm文件夹并用冒名顶替者来破解你

     

要修复您的主文件夹,请运行chmod go-w / Users / kristoffer。如果路径中有任何其他不安全的文件夹在路径中,您应该以类似的方式修复它们。

     BTW,磁盘工具没有修复这个问题的原因是它只修复作为操作系统一部分安装的文件(参见Apple关于这个主题的知识库文章)。如果从安装DVD启动并从“实用工具”菜单运行“密码重置”,则可以选择修复主文件夹权限,但我不确定它是自行重置权限还是仅重置所有权。

答案 1 :(得分:0)

<强>更新

安装新版本的Ruby似乎有效。以前我使用2.0.0,现在我升级到2.2.2。这似乎使问题消失了。