Rails 3.0.5 で「uninitialized constant Rake::DSL」

Rails 3.0.5でプロジェクトを作成し、rake db:migrateなどを実行するときに

uninitialized constant Rake::DSL

というエラーが出る。

これは、Rails 3.0.5以前ではrakeのバージョンが0.8.7以下でなければRake::DSLが無いというエラーになるという物。

なので、Gemfileの中で

gem 'rake', '0.8.7'

というようにrakeのバージョンを指定することで解決できる。

その後、プロジェクトでロックされたgemの一覧を更新するために

bundle unlock
bundle update

を実行する必要がある。