【问题标题】:Bundler could not find compatible versions for gem even if I change versions即使我更改版本,Bundler 也找不到 gem 的兼容版本
【发布时间】:2018-05-17 00:11:17
【问题描述】:

我正在尝试更新到最新的 google vision,所以我添加了 Gemfile:

gem 'google-cloud-vision', '~> 0.28.0'

但是当我运行 bundle install 时,我得到以下错误:

Bundler 找不到 gem "faraday" 的兼容版本:在 宝石文件: google-cloud-vision (~> 0.28.0) ruby​​ 取决于 google-cloud-core (~> 1.2) ruby​​ 依赖于 google-cloud-env (~> 1.0) ruby​​ 依赖于 法拉第 (~> 0.11) 红宝石

forecast_io (>= 0) ruby depends on
  faraday (0.9.2)

我也尝试过使用最新版本的预测:

gem 'forecast_io', '~> 2.0', '>= 2.0.2'

我了解两种不同的宝石需要两种不同版本的法拉第。但是捆绑程序不应该解决这个问题吗?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    根据bundler documentation

    更新指定的 gem(所有 gem,如果没有指定),忽略 Gemfile.lock 中指定的先前安装的 gem。通常,您应该使用 bundle install(1) 在机器上安装完全相同的 gems 和版本。

    您可以使用 bundle update 显式更新 gem 的版本。

    所以使用 bundle update google-cloud-vision 将 gem 更新到新版本。

    【讨论】:

    • 不,这不是一个好主意,因为捆绑更新也必须发生在生产机器上,这意味着命令运行将只是“捆绑更新”
    • bundle update google-cloud-vision 不更新 Gemfile,而是更新 gem 版本并解决依赖关系。 Bundler, update gems
    猜你喜欢
    • 2011-10-31
    • 2017-07-17
    • 2018-02-09
    • 2014-05-26
    • 2014-03-14
    • 2013-03-13
    • 2019-05-07
    • 2016-02-17
    • 2013-03-12
    相关资源
    最近更新 更多