SKIPというより、Railsアプリケーションのアップデートだと思う。
いつもはまるところがあったので、ちょっと調べてみた内容を共有。
can’t activate , already activated locale-2.0.5
gemのバージョンがあってないときに出るらしい。今はいっているgemを見てみると・・・
https://gist.github.com/daipresents/e9008913f81a703151c899828fb203bf.js?file=gistfile1.txt
2.0.5はそろっているけど、2.0.4がないのが怪しい。よって入れてみる。
https://gist.github.com/daipresents/e9008913f81a703151c899828fb203bf.js?file=gistfile2.txt
すると進んだ。
uninitialized constant MysqlCompat::MysqlRes
migrateしたときに、様々な状況でこのメッセージが出る。Redmineのmigrateでも経験あり。
わかったのが、「gem install mysql」をたたくと20100404だと2.8.1がインストールされるが、それがうまくビルドできない場合があるみたい。その時は、gemのディレクトリに入って、自分makeして対応したのだけれど、昔のバージョン(2.7)はすんなりインストールできたので、「gem uninstall mysql -v 2.8.1
」して「gem install gem install mysql -v 2.7
」をたたくことにした。
すると以下のように怒られる。
https://gist.github.com/daipresents/e9008913f81a703151c899828fb203bf.js?file=gistfile3.txt
Rails2.2でmysql.rbドライバーが消えたらしい。
よって、「gem install mysql」してねっていうけどそれやったら怒られるんだってばさ・・・。
どうもmysql.soからlibmysqlclient.soが見えないという意味らしいの
で、以下を行う。(参考:ref:http://www.ruby-forum.com/topic/98177)
https://gist.github.com/daipresents/e9008913f81a703151c899828fb203bf.js?file=gistfile4.txt
これをやったあとにgem installすればうまくいった。
まとめ。
Railsのアップデートや様々なgemの共存は大変。
Railsアプリを作るときはgemのバージョンを固定して設定したほうがよさそうだと思ったのです。