我正在建造这个目前是私人的宝石,但稍后会开源。
在.gemspec
我有spec.add_dependency 'hashie', '~> 3.3.2'
。
在我的应用程序中使用gem时,我得到:
Bundler could not find compatible versions for gem "hashie":
In Gemfile:
desk (~> 1.0.4) ruby depends on
hashie (~> 2.1) ruby
my_gem (>= 0) ruby depends on
hashie (3.3.2)
我该如何解决这个问题?
一种方法是删除有效的~> 3.3.2
锁,但我不想这样做。
我尝试从应用中删除Gemfile.lock
并运行bundle install/update
,但这也无效。
答案 0 :(得分:1)
我接受了@ascar的回答,因为这是正确的做法。人们建议你应该分叉宝石以确保兼容性。
现在我在OSS的精神上做了什么:)我实际上在Desk gem上提交了一个PR来更新hashie gem。
答案 1 :(得分:0)
欢迎依赖地狱:)。它不可能使用同一个宝石的两个不同版本。
您可以尝试将桌面分叉并更新到hashie ~> 3.3.2
,或者只使用hashie ~> 2.1
并将您的hashie降级为2.x版本。