この単純な Gemfile を提供します。
source 'http://rubygems.org'
gem 'rails', '~> 4.1.0'
gem 'comfortable_mexican_sofa', '~> 1.12.3'
これで愚かに失敗します:
Bundler could not find compatible versions for gem "i18n":
In Gemfile:
comfortable_mexican_sofa (~> 1.12.3) ruby depends on
jquery-rails (>= 3.0.0) ruby depends on
railties (< 5.0, >= 4.2.0.beta) ruby depends on
activesupport (= 4.2.0.beta1) ruby depends on
i18n (< 0.8, >= 0.7.0.beta1) ruby
comfortable_mexican_sofa (~> 1.12.3) ruby depends on
rails-i18n (>= 4.0.0) ruby depends on
i18n (0.6.0)
Bundler could not find compatible versions for gem "rails":
In Gemfile:
comfortable_mexican_sofa (~> 1.12.3) ruby depends on
rails-i18n (>= 4.0.0) ruby depends on
rails (~> 4.0.0) ruby
rails (4.1.0)
問題がわかりました。CMS は に依存していjquery-rails (>= 3.0.0)
ます。数日前、その gem がヒットし4.0.0
、Rails の依存関係が に設定されました>= 4.2.0.beta
。これは明らかにすべてを台無しにします。
私にとって意味をなさないのは、Rails を具体的に定義したという事実です~> 4.1.0
。サブ依存関係がこれを完全に無視し、適合しないバージョンをインストールしようとするのはなぜですか?
制限することでこれを解決できますjquery-rails (< 4.0.0)
が、そうしないことをお勧めします。