Gem :: LoadError for mysql2 gem,但它已经在Gemfile中

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 ,并尝试重新启动服务器,但仍然得到错误。

如果在升级到rails 4.2.4时(也使用rails 4.1.5)出现此错误,请尝试使用此版本的mysql2:

 gem 'mysql2', '~> 0.3.18' 

显然mysql2不是仍然兼容更新版本的rails,因为rails 4.2.4是相当新的,因为我回答这个问题的时间是2015年9月8日,所以在你的Gem文件中使用上面的行并运行:

 bundle install 

你应该很好走

当我在最新版本(0.4.0)之前指定了一个mysql2 gem版本的时候,它对我很有用。 由于某些原因,Rails 4.2.4和那个Gem 0.4.0都有问题。 所以,为了解决这个问题,我只是指定了之前发布的gem:0.3.20,它对我来说工作的很好!

 gem 'mysql2', '~> 0.3.20' bundle install 

你可以在这里查看所有的gem版本: https : //rubygems.org/gems/mysql2/versions

改成

 gem 'mysql2', '~> 0.3.18' 

在你的Gemfile中。

这个官方的mysql2 Github上的线程说要做到这一点。 如果你的rails版本是4.xx,你需要声明这个版本号

https://github.com/brianmario/mysql2/issues/675

然后运行bundle update

升级到Rails 4.1后,我得到了同样的错误,我设法通过更新mysql2来解决它。 在rails应用程序文件夹中运行这个:

 $ bundle update mysql2 

如果您使用更新版本的导轨> 4,则可能会发生此问题

做这两个简单的步骤,它将工作。 打开你的Gemfile并find下面的行

 gem 'mysql2' 

用下面的特定的mysql版本replace那个行

 gem 'mysql2', '~> 0.3.18' 

现在停止服务器并运行包

 bundle install 

现在重新启动服务器。 它应该工作。

 rails s 

作为初学者的ruby,我无法弄清楚行'gem'mysql2','〜> 0.3.18'

它只是意味着去你的rails项目文件夹,然后有mysql2的行,它会像0.4 *,所以你可以改变它gem'mysql2','〜> 0.3.18'

并且当我们有新的定义时,我们必须重build依赖关系,以便像上面的bundle安装中所解释的那样执行这个简单的命令

它不加载mysql2gem,因为新版本的mysql2(0.4.1)gem无法加载mysql2_adaptor。 这是为我工作。

 gem 'mysql2', '~> 0.3.13' 

并运行

 bundle install 

我有同样的错误,这是因为Rails 4.1需要最低的mysql2版本0.3.13,最大的兼容Windows是0.3.11版本。

所以我编辑了文件c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb并改了一行c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb gem 'mysql2', '~> 0.3.13' gem 'mysql2', '~> 0.3.11' ,它的工作到目前为止。

这是我如何解决这个问题:

  bundle config bundle config --delete without bundle install --deployment --without development test postgres 

积分: 如何解开bundle install –without

它不加载mysql2gem,因为新版本的mysql2(> = 0.4.0)gem无法加载mysql2_adaptor。 你能试试吗?

gem 'mysql2', '~> 0.3.13'

希望它能工作。

我解决了这个问题,安装了mysql2 gem local(gem install mysql2,bundle install),并在Gemfile中添加了以下代码:

gem 'mysql2'

在database.yml中设置mysql2适配器

adapter: mysql2

也很重要!

我是Ruby on Rails和网站的新品牌,但听到什么为我工作。

我不得不改变我的gemfile,gem'mysql2'为gem'mysql2','〜> 0.3.13'然后在rails中inputbundle install然后我试图导轨s并得到错误,所以然后我尝试捆绑更新mysql2然后在导轨types铁轨,它的工作

我以前安装mysql2 0.4.5,但是这给了我这个错误,所以我已经安装了另一个版本的mysql2:

gem install mysql2 –version 0.3.20

希望这可以解决你的问题。