【问题标题】:Gem.source_index is deprecated, use Specification. Should I re-install Gem or Rails?Gem.source_index 已弃用,请使用规范。我应该重新安装 Gem 还是 Rails?
【发布时间】:2023-04-11 11:06:01
【问题描述】:

我正在 Ubuntu 11 上学习 RoR。当我尝试生成应用程序时收到以下消息。我是不是安装错误了?

$ rails generate controller Pages home contact
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/shared_helpers.rb:84.

【问题讨论】:

  • 你的问题解决了吗????

标签: ruby-on-rails ruby deprecated


【解决方案1】:

这对我有用:降级 ruby​​gems:

gem update --system 1.6.2

在以下位置找到此建议:Gem.source_index is deprecated, use Specification #34

【讨论】:

  • 对我来说效果很好,所有其他建议都失败了:/
  • 在运行 chiliproject (redmine) ruby​​ 应用程序的 Ubuntu 10.04 上为我工作。 gem update bundler 未能消除错误/警告
【解决方案2】:

试试这个:

sudo gem update bundler

这会将捆绑程序更新到最新版本(当前为 1.0.15)。这不会产生警告,或者至少在我的情况下这是警告的原因。

【讨论】:

  • 嗨 dexter,我遇到了这篇文章抱怨的同样问题,我运行了这个更新命令并输出了“Nothing to update”。而且错误仍然存​​在,您还有其他提示吗?提前致谢!
  • 嘿 @Castanho 尝试运行 gem update bundler(不带 sudo)。
  • yupp...gem update bundler(没有 sudo)为我工作。谢谢@KevinTsoi
【解决方案3】:

解决这个问题的最佳方法是:

$ gem pristine --all --no-extensions

这将重建所有 gem(不包括那些带有原生扩展的 gem)并更新它们的 gemspecs。如果您没有任何带有本机扩展的 gem,或者您没有在这些 gem 上使用任何自定义编译标志,您也可以省略 --no-extensions 标志。否则,您将不得不单独构建它们。

【讨论】:

  • 感谢 Koraktor 的输入 :)
  • 我尝试了命令(使用“--no-extensions”和没有“--no-extensions”,但我仍然收到相同的错误消息。感谢您通过回复表明您关心问题。看到你的帖子后,我继续尝试更多的东西,我偶然发现了一个解决方案:)
  • @Kevin H,那么您偶然发现的解决方案是什么?
  • 我写了下面的“部分解决方案”,输入“sudo gem update”。当我输入“rails generate controller ...”时,我不再看到该消息=)。但是,当我运行“autotest”时,出现了该消息。所以,这不是一个完整的解决方案。抱歉麻烦:)。我会继续努力并提供更新。
  • 当我在 Mac OS 上使用 sudo gem pristine --all --no-extensions 时效果很好。
【解决方案4】:

我试过“sudo gem update”。 之后,我不再看到消息“Gem.source_index 已弃用,请使用规范...”。耶!

【讨论】:

  • 2011-05-25 的注释:当我运行“自动测试”时,我仍然看到“”Gem.source_index 已弃用,使用规范...”。看起来问题还没有解决。我将重新安装 Ruby + Rails。
【解决方案5】:

rails -v = 2.2.2

ruby -v = 1.8.7

This link helps me.

或者干脆做

gem update --system 1.6.2

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-04-10
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
相关资源
最近更新 更多