【发布时间】:2011-05-22 12:01:02
【问题描述】:
我已经安装了最新的 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 上。我用谷歌搜索了这个,似乎我不是唯一遇到这个的人。但是,我还没有找到解决方案。
如果您不知道如何解决此问题,我该如何手动摆脱所有宝石并从头开始?
编辑:似乎打开文件并将其更改为“2011-05-21”可以修复它......但这怎么会发生?我不是故意的,但我整天都在用 Ruby 和 Rails 遇到奇怪的事情。开发 2 周后,我遇到的“问题”似乎从未停止过。我真的很紧张/担心我选择使用 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
【问题讨论】:
-
我推荐使用 rvm rvm.beginrescueend.com 来处理 gem 安装和 ruby 版本。这是一个奇怪的问题,不知道如何提供帮助。
-
似乎将生成的日期替换为“2011-05-21”可以修复它。我只需要运行“sudo gedit /usr/local/lib/ruby/gems/1.9.1/specifications/rspec-core-2.6.2.gemspec”。不过,我对这种事情会发生感到失望。很难相信一个日期参数会导致整个 gem 程序崩溃。
标签: ruby-on-rails ruby rspec gem