首页 > 解决方案 > 如何解决 fastlane v 2.162.0 的 gem 安装冲突

问题描述

我正在尝试将 fastlane 更新到正在运行的最新版本:

sudo gem install fastlane -v 2.162.0

它出错了

ERROR:  While executing gem ... (Gem::DependencyResolutionError)
    conflicting dependencies faraday (~> 0.12) and faraday (~> 1.0)
  Activated faraday-1.0.0
  which does not match conflicting dependency (~> 0.12)

  Conflicting dependency chains:
    fastlane (= 2.162.0), 2.162.0 activated, depends on
    faraday (~> 1.0), 1.0.0 activated

  versus:
    fastlane (= 2.162.0), 2.162.0 activated, depends on
    google-api-client (>= 0.37.0, < 0.39.0), 0.37.0 activated, depends on
    googleauth (~> 0.9), 0.9.0 activated, depends on
    faraday (~> 0.12)

  Gems matching faraday (~> 0.12):
    faraday-0.17.3

当我跑

sudo gem list

表明:

...
faraday (1.0.0, 0.17.3)
...
google-api-client (0.38.0)
...
googleauth (0.9.0)
...

如果我卸载了那个版本并且只安装了 0.38.0,为什么它说 google-api-client 0.37.0 已激活?

标签: rubygemsfastlane

解决方案


我也遇到这个问题。

根据DanielRead 的回答,我执行以下命令。

sudo gem cleanup
sudo gem update
sudo gem cleanup
sudo gem update
// .... 

sudo gem updatefastlane 升级到最新版本(2.163.0)时,我最终进入了命令周期。

  1. sudo gem cleanup将删除旧版本的冗余包。
  2. sudo gem update将软件包更新到最新版本。

但是,由于依赖冲突,一些包升级会失败。(例如:快车道)。所以,继续上面的命令来解决依赖冲突。


推荐阅读