Gem :: LoadError指定数据库适配器的'mysql2',但未加载gem

时间:2015-09-08 22:52:55

标签: ruby-on-rails gem rubygems

我正在尝试运行rails应用。一切都很基础。 我的gemfile是

gem'rail','4.0.0'

gem'mysql2'

database.yml是

发展:   适配器:mysql2

编码:utf8

数据库:#new_app_development

pool:5

用户名:root

密码:密码

host:localhost

宝石清单给出 mysql2(0.4.0)

但我仍然得到Gem :: LoadError 为数据库适配器指定'mysql2',但未加载gem。将gem 'mysql2'添加到您的Gemfile。

我尝试了bundle install和gem install mysql2。

3 个答案:

答案 0 :(得分:1)

它没有加载mysql2 gem,因为新版本的mysql2(0.4.1)gem无法加载mysql2_adaptor。这对我有用。

gem 'mysql2', '~> 0.3.13'

并运行

bundle install

如果仍然面临问题,那么This solution肯定会有所帮助

注意:我假设你的系统上安装了mysql数据库:P

答案 1 :(得分:1)

 gem 'mysql2', '~> 0.3.20'

错误:执行gem时...(Gem :: CommandLineError)

Unknown command mysql2,

gem install mysql2 

构建原生扩展。这可能需要一段时间......

  

成功安装了mysql2-0.4.1

     

安装了1个宝石

然后捆绑安装,但这种组合不起作用

答案 2 :(得分:0)

这是由于mysql2在9月8日刚刚升级到0.4.0see here)造成的,并且它与当前rails版本存在兼容性问题。因为默认情况下,rails未在mysql2中指定Gemfile的版本,因此一旦您发出命令bundlerails将始终安装最新版本来自远程的mysql2,在这种情况下为0.4.0

Forturnly rails官方解决了这个问题,他们将从下一个mysql2 0.4.0see here)支持rails 4.2

显然,解决方案是通过将mysql2中的版本设为0.3.x来降级Gemfile,如下所示:

gem 'mysql2', '~> 0.3.20'

然后发出命令bundle