gpt4 book ai didi

ruby-on-rails - 如何解决 Bundler 中的 Gem 兼容问题?

转载 作者:数据小太阳 更新时间:2023-10-29 07:19:45 28 4
gpt4 key购买 nike

在我们的 Rails 应用程序中,我们使用了两个需要 rest-client 的 gem(urbanairship 和 nylas)。一个想要~> 1.6.7,另一个想要~> 1.7.1

常用的bundle udpaterm Gemfile.lock; bundle 安装 不起作用。

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

很遗憾,我们不能使用不同版本的 nylasurbanairship。我们正在寻找的唯一解决方案是 fork 两者之一并编辑 .gemspec 以接受相同版本的 rest-client

有没有更简单的解决方案?

最佳答案

最后,最终听从了 Chris 的建议。

  1. fork nylas https://github.com/hartator/nylas-ruby/

  2. 放松 Gemfile rest-client 的要求. (是 1.7 )

    gem 'rest-client', '~> 1.6'

  3. 放松 nylas.gemspec rest-client 的要求. (是 1.7 )

    s.add_dependency(%q<rest-client>, ["~> 1.6"])

  4. 放松 nylas.gemspec rest-client 的运行时要求. (是 1.7 )

    s.add_runtime_dependency(%q<rest-client>, ["~> 1.6"])

  5. 查看规范,一切正常。

  6. 将更改后的 gem 添加到我的应用程序中 Gemfile

    gem 'nylas', git: 'git@github.com:hartator/nylas-ruby.git'

一切正常。仍然想知道是否有更清洁的解决方案。

引用:https://github.com/hartator/nylas-ruby/commit/f7ff4076e96d8a31e223ca0f12d35811d6e9d811

关于ruby-on-rails - 如何解决 Bundler 中的 Gem 兼容问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31661394/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com