0

运行bundle install时出现此错误:

您的 Gemfile 需要相互依赖的 gem,从而创建一个无限循环。请移除 gem 'casein' 并重试。

当我将 gem国家添加到 Gemfile 时,错误就开始了。

我认为这是一个奇怪的错误,因为国家和酪蛋白具有非常不同的依赖关系:

Puelos-Macbook:ChataBackend paulo$ gem dependency countries
Gem countries-0.11.4
  currencies (~> 0.4.2)
  i18n_data (~> 0.7.0)
  rspec (>= 3, development)
  yard (>= 0, development)

Puelos-Macbook:ChataBackend paulo$ gem dependency casein
Gem casein-5.0.0.0
  authlogic (= 3.4.2)
  casein (>= 0)
  jquery-rails (>= 0)
  scrypt (= 1.2.1)
  will_paginate (= 3.0.5)

编辑:

可以肯定的是,我从我的 Gemfile 中删除了所有其他 gem:

source 'https://rubygems.org'

gem 'countries'
gem 'casein', '5.0.0'

但错误仍然存​​在

4

1 回答 1

2

哦,对不起,我第一眼没看懂。

caseingem 引用自身:

Puelos-Macbook:ChataBackend paulo$ gem dependency casein
Gem casein-5.0.0.0
  authlogic (= 3.4.2)
  !! NB⇒ casein (>= 0)
  jquery-rails (>= 0)
  scrypt (= 1.2.1)
  will_paginate (= 3.0.5)

之前允许捆绑1.9,但现在不允许。你有两个选择:

  1. 降级bundler1.8重新运行bundle install
  2. 克隆caseingem,casein.gemspec通过删除自引用进行修补并提交拉取请求。https://github.com/spoiledmilk/casein3/blob/master/casein.gemspec#L103

注意实际上这已经由社区完成,例如https://github.com/russellquinn/casein 所以,您可能只需通过gem 'casein', git: 'github.com:russellquinn/casein'.

希望能帮助到你。

于 2015-06-23T18:48:30.437 回答