TL; DR 通用标签


现在详细介绍。我不确定哪个信息有用,所以我只想说一遍。

  1. 我最近从OS X Snow Leopard升级到Lion(也将Xcode升级到4.2)
  2. 在一段时间内一切正常
  3. 今天我决定安装一些gems(RSpec,Cucumber),并且每当我对RubyGems做任何事情时,我开始收到日期格式警告
  4. 我决定将RubyGems从1.3.6(我不确定在此)更新为当前的1.8.11
  5. 警告不断弹出,因此我试图删除带有rvm gemset empty的gemset ,但由于某些权限被拒绝的错误(是愚蠢的我没有写下来),该尝试也失败了 li>
  6. 因此,我通过rvm remove 1.9.2rvm install 1.9.2重新安装了Ruby (在那之后,我没有忘记生成rvm use 1.9.2 --default
  7. 我安装了捆绑程序gem install bundle,然后尝试在Rails 3.1.1项目中生成bundle install,但结果以错误结束

    $ 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
    

  8. gem install rubyzip -v '0.9.4'给出了上述错误

  9. README文件显示要通过ruby install.rb下载源代码并从那里安装,这也将以错误结尾

    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.
    

  10. 即使是执行rubyzip的测试也最终会导致一堆错误

    $ 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>'
    

  11. 我没有主意,该怎么办?

有帮助吗?

解决方案

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

由于重新安装Ruby 1.9.2并没有帮助,所以我决定变得更加狂热,转而使用rvm。我发现我已经安装了1.1.something版本,大约9个月了。

我尝试进行更新,但没有帮助,因此rvm implode做到了。我什至不得不使用sudo rm -rf ~/.rvm,可能是因为我设法通过向他们添加sudo来弄乱一些gem安装。

重新安装了rvm并重新安装了1.9.2之后,即使使用Xcode 4.2,现在看起来一切都正常。

经验教训,rm -rf和重新安装比尝试从一个旧版本进行升级要好:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top