无效的gemspec -Illformed要求[“#<yaml :: syck :: defaultkey:0xb5f9c990> 3.2.0”] </yaml :: syck :: defaultkey:0xb5f9c990>

时间:2012-01-25 15:00:28

标签: ruby-on-rails ruby rspec gem gemspecs

Invalid gemspec in [/usr/lib/ruby/gems/1.8/specifications/activemodel-3.2.0.gemspec]: Illformed requirement ["#<YAML::Syck::DefaultKey:0xb5f9c990> 3.2.0"]

尝试为其他问题进行sudo gem更新

获得这个数百次的时间,因为sudo gem更新遍历每个gem并获取大部分内容的消息

3 个答案:

答案 0 :(得分:24)

升级到 Rails 3.2 时可能会发生这种情况。

更新Rubygems应解决此问题。

gem update --system

希望这有帮助。

答案 1 :(得分:8)

更新rubygem后我仍然遇到错误。

然后我跑rvm gemset empty删除了宝石。这为我修好了。

答案 2 :(得分:1)

我有这个问题,但上面的所有方法都无济于事。

所以,我决定移动目录

中的所有*3.2.0.spec
/usr/local/ruby/lib/ruby/gems/1.9.1/specifications

进入另一个目录,事情就解决了。

命令:

sudo mv /usr/local/ruby/lib/ruby/gems/1.9.1/specifications/actionmailer-3.2.0.gemspec <another_dir>

对其他文件执行类似的命令:

  • ActionPack的-3.2.0.gemspec
  • activemodel的-3.2.0.gemspec
  • 了activerecord-3.2.0.gemspec
  • 的ActiveResource-3.2.0.gemspec
  • 的ActiveSupport-3.2.0.gemspec
  • newrelic_rpm-3.2.0.gemspec
  • 导轨-3.2.0.gemspec
  • railties-3.2.0.gemspec