[英]Why does Bundler refuse to accept a gem with no version specified?
命令:
bundle update
错误:
Bundler could not find compatible versions for gem "fog-core":
In Gemfile:
fog was resolved to 2.0.0, which depends on
fog-google (<= 0.1.0) was resolved to 0.1.0, which depends on
fog-core
fog was resolved to 2.0.0, which depends on
fog-internet-archive was resolved to 0.0.1, which depends on
fog-core (~> 1.45)
捆绑不断发现fog-core
无指定版本是不兼容的fog-core (~> 1.45)
我认为.gemspec
文件中没有任何版本意味着任何版本都是可以接受的,但事实并非如此。
在尝试升级fog-aws
版本之后,在一个非常大的项目上使用Bundler版本1.16.1就会发生这种情况。
到目前为止,我的解决方案是派生每个依赖项,进行以下更改:
--- a/foo.gemspec
+++ b/foo.gemspec
- spec.add_dependency "fog-core"
+ spec.add_dependency "fog-core", "~> 1.45"
...但这是一件愚蠢的事情。 必须有一个更好的方法。
经过一天半的单步穿越Bundler,我得出了一个答案:
如果同时发生以下两种情况:
librato-metrics
软件包的冲突版本(例如librato-metrics
)。 …捆绑软件将显示已解决的冲突错误以及所有其他错误,即使该冲突实际上已经解决且无需解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.