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
希望这可以解决你的问题。