ruby-on-rails – 如何处理已弃用的gem警告(SourceIndex#all_gems)?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何处理已弃用的gem警告(SourceIndex#all_gems)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Gem.source_index is deprecated,use Specification. Should I re-install Gem or Rails?5个
运行捆绑更新后,今天收到此消息:
$bundle update
NOTE: Gem::SourceIndex#all_gems is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::SourceIndex#all_gems called from /Users/meltemi/.rvm/gems/ruby-1.9.2-p180@ppr3/gems/bundler-1.0.13/lib/bundler/rubygems_integration.rb:256
.

任何人都知道这是什么意思,怎么解决

注意:这是一个Rails 3.0.7环境

解决方法

当我升级到rubygems 1.8.0时,我在非Rails环境中遇到了一堆宝石的错误.任何时候,我都得到了警告,需要红宝石.环顾“网络”,似乎也可能是rubygems 1.7.x的问题,但是我从来没有安装过其中一个版本,所以我不确定.我通过运行:
gem pristine --all --no-extensions

我不得不运行它几次 – 它不断错误(但通常不在同一个地方运行).最终它已经足够了,它已经解决了我的大部分宝石.

有几个宝石没有正确地重新生成它们的规范(json和续集,特别是在我的例子中),因为它们需要构建扩展. (gem命令输出表示它正在跳过它们,尽管在所有的弃用警告之间很容易忽略该消息.)对于那些宝石,我卸载它们,然后重新安装它们(他们以前是由rubygems中的bundler安装的.x),并修复剩余的警告.这可能是我本来可以从这个攻击计划开始的,但是我没有尝试.

猜你在找的Ruby相关文章