问题描述
我在升级各种 gem 时遇到此错误,因为我正在尝试从 4.2.11.1 移动到 5.0.1。动作包的示例错误:
Bundler could not find compatible versions for gem "actionpack":
In Gemfile:
rails (= 5.0.1) was resolved to 5.0.1,which depends on
actionpack (= 5.0.1)
simple_form (= 5.0.0) was resolved to 5.0.0,which depends on
actionpack (>= 5.0)
twitter-bootstrap-rails (= 4.0.0) was resolved to 4.0.0,which depends on
actionpack (~> 5.0,>= 5.0.1)
就我对 gem 版本的理解而言,这应该不是错误,因为 5.0.1 版本满足所有依赖项。有人可以解释我如何摆脱此类错误吗?我在升级时遇到很多这样的错误
解决方法
这是一项乏味的任务,并不总是那么容易。
我建议您遵循以下方法:
- 如果可能,请尝试删除
Gemfile.lock
并尝试从Gemfile
中删除 gem 版本,除非您特别需要该版本。 (您可能希望保持rails
、devise
、aasm
的版本锁定,因为可能会有一些重大变化) - 运行
bundle install
- 在这一步,您仍有可能在版本和依赖项中遇到一些冲突
- 您必须打开并检查依赖项的特定 gem