为什么捆绑器不会在OS X 10.8上安装json 1.7.4 gem?

时间:2012-07-28 17:08:04

标签: ruby-on-rails json gem makefile bundler

我在OS X 10.8上使用XCode 4.4,Ruby 1.9.3和Rails 3.2。

当我从git克隆我的rails项目并运行时:

bundle install

我明白了:

安装json(1.7.4) Errno :: EPERM:不允许操作 - /Users/myuser/.rvm/gems/ruby-1.9.3-p0/gems/json-1.7.4/.gitignore 安装json(1.7.4)时发生错误,Bundler无法继续。 在捆绑之前确保gem install json -v '1.7.4'成功。

然后我尝试:

gem install json -v '1.7.4'

并获得:

错误:执行gem时...(Errno :: EPERM)     不允许操作 - /Users/scalessec/.rvm/gems/ruby-1.9.3-p0/gems/json-1.7.4/.gitignore

好。权限问题,对吧?试试吧:

sudo gem install json -v '1.7.4'

不行。这就是我得到的:

构建原生扩展。这可能需要一段时间...... 错误:安装json时出错: 错误:无法构建gem原生扩展。

/Users/myuser/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb 创建Makefile

请 编译generator.c make:/usr/bin/gcc-4.2:权限被拒绝 make: * [generator.o]错误1

到底是什么?

4 个答案:

答案 0 :(得分:9)

我不确定,但我2天前升级到OS X 10.8(来自Lion,我的rails配置工作正常)。 我有同样的json 1.7.4问题。

最后,我注意到Xcode的命令行工具没有安装(但它们在OS X 10.7上!),我解决了这个问题。 我刚刚在Xcode中重新安装了CLI工具,并且json 1.7.4问题消失了。

另请参阅本指南:http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion

答案 1 :(得分:2)

感谢aabulkhairov的解决方案。

这是一个适用于症状相同但仍在运行OS X Lion

的人

我能够从App Store将Xcode更新为4.4,然后使用XCode>偏好>下载到安装CLI工具;这解决了这个问题。新的XCode与Lion兼容,我的Rails应用程序正在按预期运行。

我想我已经进入这种状态,因为从App Store安装的早期版本的XCode 4.2.1已经取代了我从developer.apple.com下载的更旧的版本 - 这可能是我丢失CLI工具的地方。从那时起,我显然从未需要再次使用原生扩展编译gem。

答案 2 :(得分:1)

重新安装适用于我的CLI工具。

在这里使用最佳答案: How to use/install gcc on Mac OS X 10.8 / Xcode 4.4

答案 3 :(得分:0)

对于OS X使用:
最新的sudo gem install json --pre

检查您正在使用的Ruby版本。这可以使用ruby 1.9.3轻松安装。将ruby版本更改为1.9.3并执行

sudo gem install json -v '1.7.4'