每次我运行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
答案 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来发送消息。