Bundler 找不到 gem 的兼容版本
Bundler could not find compatible versions for gem
我正在构建这个 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
但这也没有用。
欢迎来到依赖地狱:)。不可能使用相同 gem.
的两个不同版本
您可以尝试 fork desk 并在那里更新到 hashie ~> 3.3.2
,或者简单地使用 hashie ~> 2.1
并将您的 hashie 降级到 2.x 版本。
我接受了@ascar 的回答,因为这是正确的做法。人们建议您应该 fork gems 以确保兼容性。
现在我本着 OSS 的精神做了什么 :) 我实际上已经在 Desk gem 上提交了一个 PR 来更新 hashie gem.
我正在构建这个 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
但这也没有用。
欢迎来到依赖地狱:)。不可能使用相同 gem.
的两个不同版本您可以尝试 fork desk 并在那里更新到 hashie ~> 3.3.2
,或者简单地使用 hashie ~> 2.1
并将您的 hashie 降级到 2.x 版本。
我接受了@ascar 的回答,因为这是正确的做法。人们建议您应该 fork gems 以确保兼容性。
现在我本着 OSS 的精神做了什么 :) 我实际上已经在 Desk gem 上提交了一个 PR 来更新 hashie gem.