我更新了ruby gems,现在我到处都得到解析树错误和弃用警告!

Nul*_*uli 5 ruby rubygems ruby-on-rails

错误简而言之:

NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /opt/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
/opt/local/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:275:in `==': undefined method `name' for "ParseTree":String (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

运用

ruby 1.8.7
rails 2.3.8
rubygems 1.8.5
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我已经尝试删除rubygems文件夹,并做一个干净的rubygems安装......但上面的错误仍然存​​在.

tad*_*man 9

rubygems中有很多结构上的变化让很多人感到意外.它引入了许多常见应用程序和框架的不兼容问题.

您可能需要回滚到适用于您的系统的rubygems版本,例如1.6.0:

gem update --system 1.6.0
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可能需要调查slimgems,这是一个1.3.7的rubygems分支,旨在解决这些兼容性问题.