如何破解boot.rb以阻止恼人的警告?不推荐使用Gem :: SourceIndex#对String模式的搜索支持

时间:2008-12-27 21:58:42

标签: ruby-on-rails rubygems rake warnings deprecated

每次我运行rake或者大多数rails命令时,都会收到恼人的警告。我还是Ruby / Rails的初学者,我想建议如何破解boot.rb以阻止恼人的警告。我正在使用Rails 1.2.6和RubyGems 1.3.1。 (我还没有将Rails升级到2.x,因为我还在学习使用1.2.x的书中的Rails。)我很感激任何建议。我一直无法通过谷歌搜索找到解决方案。谢谢!

boot.rb第20行:

rails_gem = Gem.cache.search('rails', "=#{rails_gem_version}.0").sort_by { |g| g.version.version }.last

烦人的消息:

boot.rb:20:Warning: Gem::SourceIndex#search support for String patterns is deprecated

3 个答案:

答案 0 :(得分:7)

在boot.rb中调用了Gem Source Index:“Gem.cache.search”,只需将“search”替换为“find_name”。

答案 1 :(得分:0)

首先,您应该研究一种可以删除警告的方法(比如升级rails或ruby-gems),而不是在可能的情况下抑制 。其次,根据warn方法(http://www.ruby-doc.org/core/classes/Kernel.html#M006017)上的文档,您可以通过使用-W0标志调用/ usr / bin / ruby​​来抑制它。另请注意,此消息在STDERR上输出,因此您也可以使用常规的unix重定向技术(例如将其重定向到/ dev / null或甚至更好的warnings.log文件)

答案 2 :(得分:0)

答案一直在给予。谢谢。这让我疯了。

关于更新版本的更新,本书(敏捷开发)失败了 较新的版本。

另外,我经常做rake db:migrate。我不知道如何扼杀 在这种情况下通过调用ruby -W0来发送消息。