2

この単純な 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)が、そうしないことをお勧めします。

4

0 に答える 0