1

我正在通过Bundler安装一个gem A,它依赖于另一个gem的版本,该版本faraday-stack 0.1.3低于requires faraday-stack 0.1.5另一个gem B的要求()。如何强制第一个gem A的依赖于更高的gem 0.1.5

4

2 回答 2

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 实际上与法拉第堆栈 0.1.5 不兼容,那么您尝试执行的操作将不起作用。要么 gem A 需要更新以使其适用于 0.1.5,要么 gem B 将需要更新以使其适用于 0.1.3。

于 2013-09-02T06:16:35.133 回答
0

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

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

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

于 2013-09-02T00:22:51.237 回答