Rails捆绑,gem冲突,解决它的最佳方法
我遇到麻烦使用Bundle来解决gem冲突。
无法激活[“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时,active *需要builder v 2.1.2。 容易,但……
我该怎么办呢? 低档黄瓜? 我尝试了捆绑更新但是…接缝最后版本的活动模型,包和铁路是3.0.8。 我怎么能知道黄瓜版与活跃的建造者兼容?
那么,一般来说解决这种情况的一般方法是什么?
那很奇怪; 在检查依赖项时,Bundler应将builder
锁定到v2.1.2。
首先,尝试运行bundle update
以让Bundler重新解析所有依赖项。 这应该正确地将构建器锁定到v2.1.2。
如果做不到这一点,你可以通过将它添加到你的Gemfile
来强制构建器Gemfile
:
gem `builder`, `~> 2.1.2'
然后运行bundle update builder
。 这应该将v2.1.2添加到你的Gemfile.lock
,它应该可以正常使用Cucumber(它只需要> = 2.1.2)。
有关详细信息,请参阅Yehuda Katz最近关于Gem版本和Bundler的博客文章。