更改依赖gem的版本

时间:2013-09-02 00:17:57

标签: ruby rubygems gem bundler

我正在通过Bundler安装一个宝石A依赖于另一个宝石faraday-stack 0.1.3的版本低于所需的(requires faraday-stack 0.1.5)另一个宝石B.我怎么能强迫第一个宝石gem A依赖于较高的0.1.5

2 个答案:

答案 0 :(得分:2)

如果gem A指定的精确版本为0.1.3,则表示它与更高版本(如0.1.5)不兼容。

可能是gem A的依赖关系被错误地过度约束,实际上如果gemspec允许的话,它将使用0.1.5。如果是这种情况,则需要修复gem A的gemspec,以便对法拉第堆栈具有更宽松的依赖性(例如,~> 0.1.5,这意味着与>= 0.1.5, < 0.2.0相同。)

另一方面,如果gem A实际上与faraday-stack 0.1.5不兼容,那么你想要做的就是行不通。宝石A需要更新才能使用0.1.5,或宝石B需要更新才能与0.1.3一起使用。

答案 1 :(得分:0)

只需在gem A或B之前在Gemfile中指定faraday-stack gem的版本。

gem 'faraday-stack', '0.1.5'
gem 'A'
gem 'B'

我认为这几乎是this问题的重复。