1

TL;博士

$ 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

现在详细说明。我不确定哪些信息是相关的,所以我只想说出来。

  1. 我最近从 OS X Snow Leopard 升级到了 Lion(也将 Xcode 升级到了 4.2)
  2. 一切工作正常了一段时间
  3. 今天我决定安装一些 gem(RSpec、Cucumber),每当我对 RubyGems 进行任何操作时,我都会收到日期格式警告
  4. 我决定将 RubyGems 从 1.3.6(我不确定)更新到当前的 1.8.11
  5. 警告不断弹出,因此我尝试使用 删除 gemset,但由于某些权限被拒绝错误,该 gemsetrvm gemset empty失败了(是的,愚蠢的我没有写下来)
  6. 结果,我通过and重新安装了 Ruby(在那之后我没有忘记。rvm remove 1.9.2rvm install 1.9.2rvm use 1.9.2 --default
  7. 我安装了 bundler gem install bundle,然后尝试bundle install在我的 Rails 3.1.1 项目中安装,但它以错误结束

    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.
    
  8. gem install rubyzip -v '0.9.4'给出上述错误

  9. README 文件说要通过 下载源代码并从那里安装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>'
    
  10. 即使从 ruby​​zip 执行测试也会导致一堆错误

    $ 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)
    
  11. 我没有想法,我该怎么办?

4

1 回答 1

2

我真的不确定是什么原因造成的,但我设法通过执行以下操作来解决它。

由于重新安装 Ruby 1.9.2 并没有帮助,我决定更加激进并使用 rvm。我发现我安装了 1.1.something 版本,大约 9 个月大。

我试图更新,但它没有帮助,所以rvm implode伎俩。我什至不得不这样做sudo rm -rf ~/.rvm,可能是因为我设法通过添加一些 gem 来弄乱sudo它们。

重新安装rvm并重新安装 1.9.2 后,现在似乎一切正常,即使使用 Xcode 4.2 也是如此。

吸取的教训,rm -rf重新安装比尝试从一年的旧版本升级更好:)

于 2011-10-21T14:08:55.657 回答