我已经安装了最新的 rspec gem,现在每个“gem”命令,无论如何,都会抛出此错误:
egervari@egervari:~/Websites/training$ gem -v
Invalid gemspec in [/usr/local/lib/ruby/gems/1.9.1/specifications/rspec-core-2.6.2.gemspec]: invalid date format in specification: "2011-05-21 00:00:00.000000000Z"
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:277:in `block in _resort!': undefined method `name' for nil:NilClass (NoMethodError)
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:276:in `sort!'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:276:in `_resort!'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:270:in `_all'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:402:in `each'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:477:in `map'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:477:in `find_files'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1061:in `load_plugins'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:85:in `<top (required)>'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/bin/gem:9:in `<main>'
它完全锁定了我的 Rails 开发。因此我无能为力。
我使用的是 Ubuntu 11.04。我用谷歌搜索过这个,看来我不是唯一遇到这个问题的人。但是,我还没有找到解决方案。
如果您不知道如何解决此问题,我该如何手动删除所有 gem 并从头开始?
编辑:似乎打开文件并将其更改为“2011-05-21”可以修复它......但是这是怎么发生的?我无意提示,但我整天都在使用 Ruby 和 Rails 时遇到一些奇怪的事情。开发两周后,我遇到的“问题”似乎从未停止过。我对使用 Rails 的选择感到非常紧张/担心:(
编辑 2:我的版本
egervari@egervari:~/Websites/training$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
egervari@egervari:~/Websites/training$ gem -v
1.8.1
最佳答案
我在 Ruby 1.9.2p0(gem 版本 1.7.2)下的 Rails 应用程序中遇到了这个问题。我通过进入(在我的例子中)/Users/smei/.rvm/gems/ruby-1.9.2-p0 并删除所有 rspec-core 2.6.2 内容来手动卸载 rspec-core 2.6.2。当我卸载 gem 时,它没有出现在我的 rspec-core 版本列表中。
然后我将 rspec-core 锁定到 2.6.0,这解决了问题。
关于ruby-on-rails - 更新 rspec gem 导致 'gem' 命令变得不稳定/有错误。帮助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087789/