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
,并尝试重新启动服务器,但仍然收到错误。
答案 0 :(得分:245)
如果在升级到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
你应该好好去
答案 1 :(得分:27)
当我在最新版本(0.4.0)之前指定mysql2 gem版本时,它对我有用。 出于某种原因,Rails 4.2.4和gem 0.4.0存在问题。所以,为了解决这个问题,我刚刚指定了之前发布的gem:0.3.20,它对我来说很好用!
gem 'mysql2', '~> 0.3.20'
bundle install
您可以在此处查看所有宝石版本:https://rubygems.org/gems/mysql2/versions
答案 2 :(得分:16)
更改为
gem 'mysql2', '~> 0.3.18'
在您的Gemfile中。
官方mysql2 Github上的这个帖子说要做到这一点。如果您是rails版本4.x.x,则需要声明该版本号。
https://github.com/brianmario/mysql2/issues/675
然后运行bundle update mysql2
。
答案 3 :(得分:8)
升级到Rails 4.1后我得到了同样的错误,我设法通过更新mysql2来解决它。在rails app文件夹中运行:
$ bundle update mysql2
答案 4 :(得分:8)
如果您使用较新版本的rails>可能会发生此问题4
做这两个简单的步骤,它会起作用。 打开Gemfile并找到以下行
gem 'mysql2'
用特定的mysql版本替换该行,如下所示
gem 'mysql2', '~> 0.3.18'
现在停止服务器并运行bundle
bundle install
现在重启服务器。它应该工作。
rails s
答案 5 :(得分:7)
作为红宝石的初学者我无法理解这条线 gem' mysql2','〜> 0.3.18'
它只是意味着转到你的rails项目文件夹然后有 mysql2的行就像0.4 *所以你可以改成它 gem' mysql2','〜> 0.3.18' 强>
并且由于我们有新的定义,我们必须重建依赖关系,以便按照捆绑安装
中的说明执行该简单命令答案 6 :(得分:5)
它没有加载mysql2 gem,因为新版本的mysql2(0.4.1)gem无法加载mysql2_adaptor。这对我有用。
gem 'mysql2', '~> 0.3.13'
并运行
bundle install
答案 7 :(得分:2)
我有同样的错误,这是因为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
并将行gem 'mysql2', '~> 0.3.13'
更改为gem 'mysql2', '~> 0.3.11'
,到目前为止一直有效。
答案 8 :(得分:2)
以下是我修复此问题的方法:
bundle config
bundle config --delete without
bundle install --deployment --without development test postgres
答案 9 :(得分:1)
它没有加载mysql2 gem,因为新版本的mysql2(> = 0.4.0)gem无法加载mysql2_adaptor。你能试试吗?
gem 'mysql2', '~> 0.3.13'
希望它能够奏效。
答案 10 :(得分:0)
我解决了这个问题,安装了mysql2 gem local(gem install mysql2,bundle install)并将以下行添加到Gemfile中:
gem 'mysql2'
在database.yml中设置mysql2适配器
adapter: mysql2
也很重要!
答案 11 :(得分:0)
我是Ruby on Rails和网站的新品牌,但听到了对我有用的东西。
我不得不将我的gemfile,gem'mysql2'改为gem'mysql2','〜> 0.3.13' 然后在rails我输入bundle install 然后我尝试了rails并且出错了 所以然后我尝试捆绑更新mysql2 然后在rails typed rails s中,它工作
答案 12 :(得分:0)
我解决了这个问题,安装了libmysqlclient-dev。 sudo aptitude安装libmysqlclient-dev 然后运行捆绑软件。
答案 13 :(得分:-1)
我以前安装了mysql2 0.4.5但是这给了我这个错误,所以我安装了另一个版本的mysql2:
gem install mysql2 --version 0.3.20
希望这能解决你的问题。