「./../config/boot.rb:20:Warning: Gem::SourceIndex#search support for String patterns is deprecated」と言われたときの対処法

ruby script/server」とかしたときに、

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

というエラーが出て、どうしていいかわからなくなったので、がんばってググってみた。

ちょこざいな生活 : 美味しければ全てよし のコメント欄によると、

config/boot.rb の20行目を次のように変えるといいらしい。

変更前

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

変更後

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

どうやら、RubyGemsのバージョンだけ上げてRailsのバージョンを上げなかったのが原因みたい。

Railsみたいなフレームワークはプログラムが自動でいろいろやってくれる分、エラーが出たときが困るなあ。



追記

ruby script/generater」としたときにも似たようなエラーが出たので、これから先何回も同じエラーが出てきたら面倒だなあと思って、railsをアップデートした。アップデートの方法は、

sudo gem install rails

バージョン 2.3.2 になりました。