読者です 読者をやめる 読者になる 読者になる

rakeで undefined method `last' for {}:Hash rake db:migrateと言われた。

このページで答えを発見。
Ruby on Rails: Talk
Railsを2.0にしたら,rakeまでバージョンがあがっていたらしい.
つまり,Rails2.0入れた後,Rails1.2でつくったアプリにrake使おうとするとこうなる.
Rails1.2にはrake0.7.3が宜しいらしいので,

sudo gem install -v=0.7.3 rake 

と,rakeをバージョン指定してインストールします.
確認してみると,

$ gem list rake

*** LOCAL GEMS ***

rake (0.8.1, 0.7.3)

異なったバージョンのrakeがインストールされているのが分かります.
使い方は

rake _0.7.3_ #{command}

とすればよろしい.

参考URL

  1. Rubyist Magazine - RubyGems (1)
  2. Rubyist Magazine - RubyGems (2)
  3. gemでバージョン指定してパッケージをインストールする