古いプロジェクトを動かそうとしたらrake db:migrateが通らない
昭和58年6月に作ったプロジェクトを動かそうとして「rake db:migrate」とやったら「undefined method `last' for {}:Hash」というエラーが出た。
このエラー内容で調べたら、rakeのバージョンが新しいらしくてエラーが起こるとのことなので、「gem list rake」でみると、0.7.3と0.8.1があるので、「gem uninstall rake -v 0.8.1」でrakeを削除
再び「rake db:migrate」をしたら、今度は「gem error version」というエラーが出た・・・。
これも調べてみると、gemのバージョンがrakeのバージョンとあっていないからだめらしい・・・ということでgemのバージョンを下げるべく
gem uninstallしようと思ったが、どうやらできないらしい・・・。
フォルダごと消すしかないようだ・・・。
フォルダごと消し去り、再びgemをインストールする。
バージョンは「0.9.0」を入れてみた。
gemを消し去ったので、railsやらなんやらまたinstallする必要があるので、色々とインストールする。
gem install rails
gem install postgres-pr
gem install rmagick --local
ここでまたエラー・・・。
ImageMagick6.4.2の場合、gemのバージョンが古いと対応してないというらしい・・・
サイトにも古いバージョンが落ちていないし・・・どうしようもない。
ということで、しょうがなくgemのバージョンをあげてみる。
「gem update --system」これでgemのバージョンが1.2.0になった。
こうしたら、「gem install rmagick --local」も成功した!
後一歩な気がしてきました!!
そして、gemのバージョンをあげたら勝手にrakeのバージョンが「0.8.1」になってしまったので、また消して「0.7.3」だけにしてみる。
そして再び「rake db:migrate」を実行!!
またしてもエラー・・・。
これも調べたら、gem 1.2.0はrake 0.8.1以上じゃないとだめらしい・・・。
これはだいぶ行き詰ったぞ・・・あきらめるか・・・。
だがしかし!
「そうだな ここが踏ん張り所だ ここはしょぼくれる所じゃねぇ 怒り狂う所だ」
「でもこれからどうするの 次の手があるの?」
「もちろんさ しかもそいつはどうやら俺がもっとも得意とする戦術になりそうだぜ!」
というのは置いといて、自分の昔使ってたフォルダを漁ったら、古いバージョンのImagemagicを発見した!!!
再び、gemを消して、「0.9.0」のバージョンをインストール
gem install rails
gem install postgres-pr
gem install rmagick --local
すべて順調にインストール完了!!
再び「rake db:migrate」これを実行!!
gruffがないです!というエラーが出たので
「gem install gruff」を実行・・・このバージョンのgemには対応してないというエラー・・・。
いいかげんにしろと!!!おまえらバージョンの互換性ってものがまったくないのか!!!!!!!!!!!
「ヤカンかけっぱなしで出よったんな!?このダラズ!!」
やっぱりこの袋小路からは抜け出せないのかとあきらめようかと思ったときに・・・そうかそもそもgruffをとりあえず使わなきゃいいのか!ということで、使わないようにコメント!!
これで最後と「rake db:migrate」を実行!!!
キター!!!!!!!!!!!!
見事に実行されました!!!
しかし大災害が起こり、村は全滅・・・。