werckerで既存のRailsプロジェクトを突っ込んだら結構ハマった話し
追記: 2014/03/23 Werckerにバグ報告したら直してくれた :)
最近はクラウドCIサービスでテスト回したりするのがどんどん普及していますね。 TravisCIやCircleCIやCodeShipなどなど。。。 その中でプライベート・リポジトリでも現在は無料で使えるWerckerがどんどん注目を集めていると感じます。
そんな訳で、色々なWercker始めようぜ!って記事を参考に、GitHubにある既存のRailsプロジェクトがPushされたりしたらWercker上でTurnipとRspecが走るところまでやってみました。
が、、、超絶ハマった!!!
Gemのバージョンが古いとhoge.soが見つからないと怒られる
$ bundle exec rake db:schema:load RAILS_ENV=test rake aborted! libruby.so.2.0: cannot open shared object file: No such file or directory - /cache/bundle-install/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick2.so
ひたすらこんなエラーがでる。 で、これはまぁRMagickなんでまた別件なんですけど、エラーがでるgemのバージョンが古かったら、gemによってはこのエラーがでる。 でないgemもあった。 pgとかは0.17.1にUPしたら動いたけど、最初入れてたバージョンだと古くて↑のようなエラーが出ましたね。
取り敢えずgemのアップデートをしたら問題なく動きましたよっと。
どう頑張ってもRMagickは使えなかった
$ bundle exec rake db:schema:load RAILS_ENV=test rake aborted! libruby.so.2.0: cannot open shared object file: No such file or directory - /cache/bundle-install/ruby/2.0.0/gems/rmagick-2.13.2/lib/RMagick2.so
rmagickは2.13.2が最新なんだけど、どう頑張っても出来なかった。 ただgemを入れているだけなら問題ないんだけど、carrierwaveで生成したuploaderで
include CarrierWave::RMagick
ってしていて、これがあるとどうしても↑のエラーがでる。
で、結局rmagickの使用を辞めてminimagickにしました。 これだと問題なくwerckerエラー吐かなかった(´・ω・`)
結論
- ちゃんとgemのアップデートしましょう
- rmagickはなんか使えなかった
誰か「それはお前の使い方が悪いんじゃボケ」とかあったら教えて下さいませ。