加载 'mysql2' Active Record 适配器时出错

Error loading the 'mysql2' Active Record adapter

我正在尝试升级我的应用程序,这是我在部署应用程序时遇到的错误:

Error loading the 'mysql2' Active Record adapter. Missing a gem it depends on? can't activate mysql2 (< 0.6.0, >= 0.4.4), already activated mysql2-0.3.21. Make sure all dependencies are added to Gemfile.

这是我的 Gemfile: https://github.com/BI-CTSICN/sparc-request/blob/master/Gemfile

 gem 'mysql2', '~> 0.3.18'
 gem 'rails', '~> 5.1', '>= 5.1.4'

我正在使用 ruby 2.4.2

您使用的 mysql2 版本(0.3.21,签入 Gemfile.lock)太旧,需要比 0.4.4 新的版本。

通过更改 Gemfile 和 运行 宁 bundle update mysql2 中的版本升级您的 mysql2 gem。当然,在那之前检查版本之间发生了什么变化,然后 运行 你的测试来检查升级是否没有破坏任何东西。

只是锁定 mysql2 gem 版本对我不起作用。唯一有效的方法是将 rails gem 版本与 mysql2 gem 版本相匹配,按发布日期比较两者。

例如:我现在正在将我的 rails 版本从 5.1 更新到 5.2,所以我想在我的应用程序(最新版本)上安装 mysql 0.5.3。但我只能放 0.4.10 版本,因为它的发布日期与我现在安装的 rails 5.2.0.rc2 版本匹配(均为 2018 年 3 月,相差一天)。

我不知道为什么会这样,但我想这是我尝试安装的 rails 和 mysql2 版本之间的不兼容问题。