Rails捆绑,宝石冲突,解决它的最佳方法

时间:2011-06-14 02:00:56

标签: ruby-on-rails gem bundle conflict

我遇到使用Bundle解决宝石冲突的麻烦。

  

无法为[“activemodel-3.0.8”,“actionpack-3.0.8”,“railties-3.0.8”]激活构建器(〜> 2.1.2,运行时),已激活builder-3.0 .0代表[“cucumber-0.10.6”](Gem :: LoadError)

因此,当黄瓜需要版本3.0.0时,这意味着有效*需要构建器v 2.1.2。 很容易,但是......

我该怎么办呢? 低档黄瓜? 我尝试了捆绑更新但是...接缝最后版本的活动模型,包和铁路是3.0.8。 我怎么能知道黄瓜版本与活跃的建造者兼容?

那么,一般来说解决这种情况的一般方法是什么?

1 个答案:

答案 0 :(得分:3)

那很奇怪;在检查依赖项时,Bundler应将builder锁定到v2.1.2。

首先,尝试运行bundle update让Bundler重新解析所有依赖项。此将构建器正确锁定到v2.1.2。

如果失败,您可以通过将其添加到Gemfile来强制构建器v2.1.2:

gem `builder`, `~> 2.1.2'

然后运行bundle update builder。这应该将v2.1.2添加到Gemfile.lock,这应该适用于Cucumber(它只需要> = 2.1.2)。

请参阅Yehuda Katz最近关于Gem versioning and Bundler的博文,了解更多细节。