如何修复Gem弃用问题?

时间:2011-10-31 09:19:03

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems gemfile

我跑bundle install并且成功了。但是,当我运行ruby script/server时,我在服务器实际启动之前收到了很多消息:

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 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127.

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 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127.

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 /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127.

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

看起来弃用本身就是rubygems。

只需在控制台中运行即可更新它:

   gem update --system

答案 1 :(得分:0)

没有人会喜欢这个,但到目前为止,它对我有用。
版本:
ruby​​ -v#=> ruby 1.8.7(2012-02-08 patchlevel 358)[universal-darwin11.0]
rails -v#=> Rails 2.3.5
gem -v#=> 25年1月8日

修复:
sudo vi /Library/Ruby/Site/1.8/rubygems/source_index.rb
(该文件可能位于您系统的其他位置,请阅读您的错误消息,它会告诉您它在哪里)

更改第127行:
add_spec gemspec如果是gemspec
到:
        Gem :: Specification.add_spec gemspec如果是gemspec

rubygems现在将使用非折旧方法,警告应该消失。

警告罗宾逊:我是一名牛仔编码员,不知道这会产生什么副作用,但到目前为止它对我来说还可以。看来source_index.rb文件不是rubygems github存储库的一部分,所以我猜它是由其他一些进程创建的。我听说你使用的是铁轨3,这就消失了。 ::耸肩::