【问题标题】:How can I fix a Gem deprecation Issue?如何修复 Gem 弃用问题?
【发布时间】:2011-10-31 09:19:03
【问题描述】:

我跑了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.

我该如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    看起来弃用在 ruby​​gems 本身内。

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

       gem update --system
    

    【讨论】:

    • 尝试更新时遇到此错误更新 ruby​​gems-update 错误:执行 gem 时 ... (Gem::RemoteFetcher::FetchError) Errno::ETIMEDOUT: Connection timed out - connect(2) ( rubygems.org/gems/rubygems-update-1.8.11.gem)
    • 是的,我尝试了 sudo gem update --system 但那是当我收到此错误时.. 我没有使用 rvm,我认为问题出在 gem 源服务器上.. 可能我必须给一些其他来源!!不确定这是否可行
    【解决方案2】:

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

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

    将第 127 行从:
    add_spec gemspec 如果 gemspec
    到:
    Gem::Specification.add_spec gemspec 如果 gemspec

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

    警告 Will Robinson:我是一名牛仔程序员,不知道这会产生什么副作用,但到目前为止它对我来说还可以。看来 source_index.rb 文件不是 ruby​​gems github 存储库的一部分,所以我猜它是由其他进程创建的。我听说如果您使用的是 rails 3,这就会消失。 ::耸肩::

    【讨论】:

    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多