rails4 mysql2_ruby-on-rails – Rails 4 – Gem :: LoadError:为数据库适配器指定了“mysql2”,但gem未加载...

在Rails应用中遇到数据库迁移失败的问题,错误提示为未加载'mysql2' gem。尽管Gemfile和database.yml配置了mysql2,且gem列表中显示正确版本,但运行'rake db:migrate'时仍报错。解决方案是将mysql2 gem降级到0.3.18版本,通过在Gemfile中添加'gem 'mysql2', '~>0.3.18''来修复此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我的gemfile我有:

gem 'mysql2'

我的database.yml如下:

default: &default

adapter: mysql2

database:

username:

password:

host:

pool: 32

socket:

development:

<<:>

production:

<<:>

我已经运行bundle更新和bundle安装和我的Gemfile.lock显示mysql2。

但是当我运行rake db:migrate我在我的电脑和登台服务器上得到这个:

myproject.com(master)$ rake db:migrate

WARNING: Use strings for Figaro configuration. 10000012508 was converted to "10000012508".

WARNING: Use strings for Figaro configuration. 860526407370038 was converted to "860526407370038".

rake aborted!

Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

.....

只是为了确保没有坏的版本的mysql2或东西,我做捆绑清理–force和运行捆绑安装和捆绑更新再次,当我运行gem列表我看到mysql2(0.4.0),没有其他版本。

任何想法将最感谢。

它目前是Rails 4.1.x和4.2.x的一个问题,根据这个bug report,它将被固定在rails 4.2.x的下一个版本(贷记到dcorr在链接的评论)。

在同一时间,你可以通过将下面的行降级到版本0.3.18的mysql2通过将此行添加到您的gemfile修复:

gem 'mysql2', '~> 0.3.18'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值