2

每次我运行 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
4

3 回答 3

7

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

于 2008-12-30T21:29:08.450 回答
0

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

于 2008-12-28T03:21:23.450 回答
0

答案不断给出。谢谢。这让我发疯了。

关于更新版本的更新,这本书(敏捷开发)因更新版本而失败。

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

于 2010-07-08T00:28:08.587 回答