【发布时间】:2011-10-20 01:52:27
【问题描述】:
TL;DR:
$ gem install rubyzip
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /Users/darth/.rvm/gems/ruby-1.9.2-p136/gems/rubyzip-0.9.4/README
现在详细说一下。我不确定哪些信息是相关的,所以我只想说出来。
- 我最近从 OS X Snow Leopard 升级到了 Lion(也将 Xcode 升级到了 4.2)
- 在一段时间内一切正常
- 今天我决定安装一些 gem(RSpec、Cucumber),并且每当我使用 RubyGems 执行任何操作时,我开始收到日期格式警告
- 我决定将 RubyGems 从 1.3.6(我不确定)更新到当前的 1.8.11
- 警告不断弹出,所以我尝试使用
rvm gemset empty删除 gemset,但由于某些权限被拒绝错误(是的,愚蠢的我没有写下来),它也失败了 - 因此,我通过
rvm remove 1.9.2和rvm install 1.9.2重新安装了Ruby(之后我没有忘记rvm use 1.9.2 --default。 -
我在我的 Rails 3.1.1 项目中安装了 bundler
gem install bundle,然后尝试bundle install,但它以错误结束Installing rubyzip (0.9.4) Errno::EPERM: Operation not permitted - /Users/darth/.rvm/gems/ruby-1.9.2-p136/gems/rubyzip-0.9.4/README An error occured while installing rubyzip (0.9.4), and Bundler cannot continue. Make sure that `gem install rubyzip -v '0.9.4'` succeeds before bundling. gem install rubyzip -v '0.9.4'给出上述错误-
自述文件说要通过
ruby install.rb从那里下载源并安装,这也以错误结束$ ruby install.rb /Users/darth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/fileutils.rb:841:in `install': wrong number of arguments (4 for 3) (ArgumentError) from install.rb:21:in `block in <main>' from install.rb:18:in `each' from install.rb:18:in `<main>' -
即使从 rubyzip 执行测试也会出现一堆错误
$ rake test rake/gempackagetask is deprecated. Use rubygems/package_task instead rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) /Users/darth/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -C test alltests.rb <internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- stdrubyexttest (LoadError) from <internal:lib/rubygems/custom_require>:29:in `require' from alltests.rb:5:in `<main>' rake aborted! Command failed with status (1): [/Users/darth/.rvm/rubies/ruby-1.9.2-p136/b...] Tasks: TOP => test (See full trace by running task with --trace) 我没有主意了,我该怎么办?
【问题讨论】:
-
重新安装后,能否再次检查已安装的 rubygems 版本?有一个更新(几个版本之前)有一个与此类似的证书/权限错误,导致安装 gems 出现问题(应该在最新的 rubygems 中修复)
-
@Jeremy 实际上现在我已经检查过了,我有 rubygems 1.8.10。我不知道我是如何进入 1.8.11 的,但我设法通过重新安装 rvm 和所有 rubies 解决了整个问题。有关详细信息,请参阅发布的答案。
标签: ruby rubygems ruby-1.9 ruby-1.9.2 rubyzip