2

rake やほとんどの Rails コマンドを実行するたびに、迷惑な警告が表示されます。私はまだ Ruby/Rails の初心者です。boot.rb をハックして迷惑な警告を停止する方法についてアドバイスをお願いします。Rails 1.2.6 と RubyGems 1.3.1 を使用しています。(1.2.x を使用する本からまだ Rails を学んでいるので、Rails を 2.x にアップグレードしていません。) アドバイスをいただければ幸いです。グーグルで解決策を見つけることができませんでした。ありがとう!

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

答えは与え続けます。ありがとう。それは私を狂わせていました。

新しいバージョンへの更新に関しては、本(アジャイル開発)は新しいバージョンでは失敗します。

また、私は頻繁にrake db:migrateを実行しています。その場合、ruby-W0を呼び出してメッセージを抑制する方法がわかりません。

于 2010-07-08T00:28:08.587 に答える
0

まず、可能であれば警告を抑制するのではなく、警告を削除するアプローチ (レールや ruby​​-gems のアップグレードなど) を調査する必要があります。次に、warn メソッドに関するドキュメント ( 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 に答える