我正在尝试升级一些gem,bundler在执行bundle update时给了我以下建议
Bundler could not find compatible versions for gem "actionmailer":
In Gemfile:
devise_invitable was resolved to 2.0.1, which depends on
actionmailer (>= 5.0)
rails (= 5.1.7) was resolved to 5.1.7, which depends on
actionmailer (= 5.1.7)我不明白为什么它不使用5.1.7?
还有另一个例子:
Bundler could not find compatible versions for gem "redis":
In Gemfile:
redis (~> 3.3.1)
redis-objects (~> 1.2.1) was resolved to 1.2.1, which depends on
redis (>= 3.0.2)
sidekiq-limit_fetch was resolved to 3.4.0, which depends on
sidekiq (>= 4) was resolved to 5.2.8, which depends on
redis (>= 3.3.5, < 5)
sidekiq_newrelic_monitor was resolved to 0.1.2, which depends on
redis
split (~> 3.2.0) was resolved to 3.2.0, which depends on
redis (>= 2.1)为什么不直接使用3.3.x呢?
Bundler版本1.17.3
来自评论的更新:
cat Gemfile.lock | grep 'redis'
redis
redis
redis (3.3.5)
redis-objects (1.2.1)
redis (>= 3.0.2)
redis (>= 3.3.5, < 5)
redis (>= 2.1)
redis (~> 3.3.1)
redis-objects (~> 1.2.1)发布于 2020-04-22 16:51:34
因此,事实证明,bundler 1.x在正确报告依赖关系问题时存在问题,因此我升级到2.x以更好地发现它。我通过从我的gemfiles中注释掉除了rails之外的所有东西来做到这一点。然后一次运行一个bundle update,同时在越来越多的gem中进行评论。当依赖性问题浮出水面时,它解决了这些问题。
发布于 2020-04-20 20:58:28
你能把actionmailer的版本指定为你认为可以解决它的版本吗,比如:actionmailer, 5.1.7
发布于 2020-04-20 21:28:52
如果您在运行bundle update时遇到问题,您可以删除Gemfile.lock文件,然后再次运行bundle update重新生成Gemfile.lock,这可能会解决问题。
https://stackoverflow.com/questions/61321648
复制相似问题