我在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
到底是什么?
答案 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'