更改依赖gem的版本



我正在通过Bundler安装一个gem a,该gem a依赖于另一个版本的gem faraday-stack 0.1.3,该版本低于另一个gemB所需的版本(requires faraday-stack 0.1.5)。如何强制第一个gem的依赖关系为更高的一个0.1.5

如果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实际上与法拉第堆栈0.1.5不兼容,那么你试图做的事情就行不通了。gem A需要更新,以便使用0.1.5,或者gem B需要更新,以使用0.1.3。

只需在gem A或B之前在Gemfile中指定法拉第堆栈gem的版本。

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

我相信这几乎是这个问题的重复。

最新更新