Rake 0.9でWARNINGが出るときの対処法
rake 0.9をインストールした状態で、Railsで何気なくrakeコマンドを打つと次のようなメッセージが出てくる。
% rake db:migrate WARNING: Global access to Rake DSL methods is deprecated. Please Include ... Rake::DSL into classes and modules which use the Rake DSL methods. WARNING: DSL method Hoge::Application#task called at /Users/uiureo/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
rakeするたびにWARNINGが表示されるのは気分がよくない。
Railsの作者のDHHはTwitterでこう発言している。
rake 0.8.7をRailsで使うようにするには次のようにすればいい。
対処法
まず、rake 0.9.1をアンインストールするコマンドを実行する。
gem uninstall rake -v=0.9.1
RailsのGemfileに次のように書き加える。
gem 'rake', '0.8.7'
最後に、rakeのバージョンを更新するコマンドを実行。
bundle update rake
これでWARNINGが出なくなりました。めでたしめでたし。