mysql2 gem引发了Gem::LoadError,但它已经在Gemfile中。

104
Gem::LoadError
Specified 'mysql2' for database adapter, but the gem is not loaded.
Add `gem 'mysql2'` to your Gemfile

在加载以下文件时发生了此错误:

active_record/base

在运行rails服务器时我遇到了以下错误。

The mysql2 gem has been added to the Gemfile as well.

我已经执行了bundle install命令,并尝试重启服务器,但仍然收到错误提示。


在添加 gem 并重启服务器后,你是否运行了 bundle 命令? - Bachan Smruty
@BachanSmruty:是的,我已经完成了。 - Mysoulisinseoul
这个已经部署了吗?你运行过 bundle install --deployment 吗? - j-dexx
在我的情况下,有一个执行不佳的 "group :mysql, optional: true do"。删除了逻辑并将 gem 硬编码包含进去。 - TheSatinKnight
14个回答

0
我解决了这个问题,通过本地安装mysql2 gem(gem install mysql2,bundle install),并在Gemfile中添加以下行: gem 'mysql2' 在database.yml中设置mysql2适配器也很重要! adapter: mysql2

0

我是全新接触 Ruby on Rails 和网站开发的,这是我所做的。

我必须更改我的 gemfile,将 gem 'mysql2' 更改为 gem 'mysql2', '~> 0.3.13' 然后在 Rails 中输入 bundle install 然后我尝试运行 rails s,但出现了错误 因此,我试图运行 bundle update mysql2 然后在 Rails 中输入 rails s,它就可以正常工作了


0

我解决了这个问题,安装了libmysqlclient-dev。 sudo aptitude install libmysqlclient-dev 然后运行bundle。


-1

我之前安装了mysql2 0.4.5,但是它给我报错了,所以我又安装了另一个版本的mysql2:

gem install mysql2 --version 0.3.20

希望这能解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接