2017-04-17 35 views
0

我是Ruby和Rails的新手,我试图遵循Spree的指令,但在执行bundle install时遇到了依赖关系解析的问题。我搜索了一堆类似的问题,但在他们所有的gemfile中有几个“根”宝石。在我的情况下,我有单根根spree (~> 3.1.0.rc1)甚至相同的依赖树。它看起来像单个宝石轨4.2.6取决于两个版本actionpack 5.0.2和4.2.6。怎么可能?gemfile结果冲突的单一依赖关系

Bundler could not find compatible versions for gem "actionpack": 
In Gemfile: 
    spree (~> 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
    spree_core (= 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
     rails (~> 4.2.6) was resolved to 4.2.6, which depends on 
     actionpack (= 5.0.2) 

    spree (~> 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
    spree_core (= 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
     rails (~> 4.2.6) was resolved to 4.2.6, which depends on 
     actionpack (= 5.0.2) 

    spree (~> 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
    spree_core (= 3.1.0.rc1) was resolved to 3.1.0.rc1, which depends on 
     rails (~> 4.2.6) was resolved to 4.2.6, which depends on 
     actionpack (= 4.2.6) 

P.S.我能够通过在我的gemfile中指定gem 'rails', '>= 4.2.7'来解决我的问题。这仍然满足条件〜> 4.2.6并且不包含描述的问题。但我仍然很好奇如何描述状态。

谢谢!

+0

可以粘贴你的'Gemfile'和'Gemfile.lock'? – Gaston

回答

0

这是因为您使用的Rails和Spree的版本不匹配,所以它们与彼此不兼容。

Rails的5:

gem 'spree', '~> 3.2.0'

轨道4,5:

gem 'spree', '~> 3.1.0'