在我们的rails应用程序中,我们使用了两个gem(urbanairship和nylas),这些gem需要rest-client。其中一个需要约1.6.7版本,另一个需要约1.7.1版本。
通常的bundle udpate 和rm Gemfile.lock; bundle install操作无法解决问题。
当bundler解析依赖项时,我们会得到以下错误提示:
通常的bundle udpate 和rm Gemfile.lock; bundle install操作无法解决问题。
当bundler解析依赖项时,我们会得到以下错误提示:
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies............................................................................................................................................
Bundler could not find compatible versions for gem "rest-client":
In Gemfile:
urbanairship (~> 3.0.1) ruby depends on
unirest (>= 1.1.2, ~> 1.1) ruby depends on
rest-client (~> 1.6.7) ruby
nylas (>= 0) ruby depends on
rest-client (~> 1.7) ruby
很遗憾,我们无法使用不同版本的nylas
或urbanairship
。我们唯一看到的解决方法是分叉其中一个并编辑.gemspec
来接受rest-client
的相同版本。
有更简单的解决方法吗?
~>1.6
,然后运行bundle update
和其测试。如果一切顺利,那么我会提交并在Gemfile中使用你的fork,并提出一个pull request。 :) - Chris Healdgit
源说明符和哈希选项,部署任意版本的宝石。 各种git
选项 可以涵盖许多在此类情况下非常有用的案例。除非需要更改.gemspec
文件,否则不需要fork该存储库。 - tadman