Rails 4 と Coveralls で依存関係がうまく解決できないとき
2013-12-31 21:47:14
TL; DR
Gemfile に以下を追記すると解決するようになる。
gem "mime-types", "< 2"
原因
Coveralls 自体の問題ではなくて、Coveralls が依存している rest-client の問題でした。
Rails についてもそれ自体は関係無くて、actionmailer が依存している mail と rest-client で、それぞれが依存している mime-types の依存性の解決がうまくいかず、問題になっていました。
手元では以下のバージョンで問題が起こることを確認しています。
- Ruby 2.0.0-p353
- bundler 1.5.1
- rails 4.0.2
- coveralls 0.7.0
rest-client 1.6.7 が mime-types >= 1.16 に依存し、mail は mime-types ~> 1.16 に依存していることが問題になっているようでした。
とはいえ、このバージョン指定に矛盾は無いと思うので、Bundler による依存性解決のロジックに問題があるようにも思えます。
こまかくは追ってませんがとりあえずそんな感じで。
良いお年を。