2008-12-27 32 views
2

每次我运行rake或大部分铁轨的命令,我得到一个恼人的警告。我仍然是Ruby/Rails的初学者,并且我希望得到关于如何破解boot.rb以停止令人讨厌的警告的建议。我使用的是Rails 1.2.6和RubyGems 1.3.1。 (我还没有将Rails升级到2.x,因为我仍然从使用1.2.x的书中学习Rails)。我很感激任何建议。我一直无法通过Google搜索找到解决方案。谢谢!如何破解boot.rb以停止恼人的警告?弦乐模式宝石:: SourceIndex#搜索支持已被弃用

的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 

回答

7

有一个调用boot.rb中的Gem Source Index:“Gem.cache.search”,只需将“search”替换为“find_name”即可。

0

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

+0

-1 - 没有解决问题的点任何有用的方式。压制所有警告的想法不是一个好主意。 OP的明确解决了升级的想法。 – 2009-07-26 17:30:07

+0

我要去碰到它,因为diclophis确实要修复的潜在错误(旧轨) – 2009-10-20 05:08:15

0

答案不断奉献。谢谢。这让我疯狂。

对于升级到更新的版本,这本书,(敏捷开发)失败, 较新版本。

而且,我经常做的耙分贝:迁移。在这种情况下,我不知道如何通过调用ruby -W0来扼杀 消息。

相关问题