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),并修复剩余的警告.这可能是我本来可以从这个攻击计划开始的,但是我没有尝试.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...