加载“ mysql2”活动记录适配器时出错

时间:2019-02-07 09:10:44

标签: mysql ruby-on-rails ruby bundler

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

  

加载'mysql2'Active Record适配器时出错。缺少依赖的宝石吗?无法激活mysql2(<0.6.0,> = 0.4.4),已激活mysql2-0.3.21确保所有依赖项都已添加到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

2 个答案:

答案 0 :(得分:1)

您使用的{'k':{'a','b'}} 版本(CMD,已签入mysql2)过旧,需要比0.3.21更新的版本。

通过更改Gemfile.lock中的版本并运行0.4.4来升级mysql2 gem。当然,在那之前,请检查版本之间有什么变化,然后运行测试以检查升级是否没有中断任何事情。

答案 1 :(得分:1)

仅锁定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版本之间的不兼容问题。