Bundler找不到gem的兼容版本

时间:2015-01-13 15:59:59

标签: ruby-on-rails ruby gem

我正在建造这个目前是私人的宝石,但稍后会开源。

.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,但这也无效。

2 个答案:

答案 0 :(得分:1)

我接受了@ascar的回答,因为这是正确的做法。人们建议你应该分叉宝石以确保兼容性。

现在我在OSS的精神上做了什么:)我实际上在Desk gem上提交了一个PR来更新hashie gem。

答案 1 :(得分:0)

欢迎依赖地狱:)。它不可能使用同一个宝石的两个不同版本。

您可以尝试将桌面分叉并更新到hashie ~> 3.3.2,或者只使用hashie ~> 2.1并将您的hashie降级为2.x版本。