77

我收到这个错误

`establish_connection': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) (RuntimeError)
  from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activerecord-

是整个错误以及我的配置和 gemfile 的转储。

4

11 回答 11

101

我在使用 rails 3.0.7 和 mysql2 0.3.2 时遇到了同样的错误。我在这里找到的解决方案是使用旧版本的 mysql2。因此将您的 gemfile 编辑为

gem 'mysql2', '< 0.3'

并运行

bundle install 
于 2011-05-18T17:27:24.547 回答
36

还需要在 database.yml 中将适配器从更改为,如此处所述在 mysql雪豹上使用 rvm 为 Rails 3 安装 mysql2 gemmysql2

从:

development: adapter: mysql

到:

development: adapter: mysql2

于 2010-11-28T19:47:56.140 回答
14

您是否在 gemfile 中包含 mysql2 gem 而不是旧的 mysql gem,然后运行 ​​bundle install ?

于 2010-08-12T11:23:21.163 回答
6

如果您使用的是 rvm,并且可能在 rvm 之外添加了 mysql2,请尝试以下步骤: 确认您的 Gemfile 显示:

gem 'mysql2'

或 Rails2.x:

gem 'mysql2', '~> 0.2.11'

然后:

$ cd RAILS_ROOT
$ gem uninstall mysql2

Select gem to uninstall:
 1. mysql2-0.2.11
 2. mysql2-0.3.6
 3. All versions
> 3 # select "All versions"
$ rvm gemset install mysql2
$ bundle install

现在rails应该可以正常启动了。

于 2011-10-29T20:05:46.593 回答
3

这也解决了我遇到的问题:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter)

您实际上需要运行: gem install mysql2 并将 gem 添加到您的配置中。

于 2010-10-26T20:00:54.220 回答
2

只需运行“gem install mysql”,也可以在 gemfile 中添加相同的内容并运行 bundle。工作过

于 2011-01-15T11:16:15.327 回答
2

如果有人仍然面临在 Windows 上使用 rails 3 安装 mysql2 gem 的问题,请参阅以下安装的详细步骤 -

http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

于 2011-05-03T02:55:12.097 回答
1

我是 ruby​​、rails 和 linux 的初学者。所以如果这个解决方案不起作用,我不承担任何责任:)

第1步:

sudo gem uninstall mysql2

第2步:

sudo gem install mysql -v 0.2.7

启动 webrick,如果仍然出现同样的问题,请重新安装 rails。

这个解决方案对我有用。

于 2011-06-03T19:04:34.247 回答
1

对我来说也是同样的问题。升级到 Rails 3.1.rc4 然后降级到 3.0.3。为我工作。

于 2011-06-30T00:00:19.713 回答
0

从 0.3.0 和 ActiveRecord 3.1 开始 - ActiveRecord 适配器已从该 gem 中拉出并进入 ActiveRecord 本身。如果您需要在 Rails 版本 < 3.1 中使用 mysql2,请确保在 Gemfile 中指定 gem "mysql2", "~> 0.2.7"

丢失的文件 ( no such file to load) 可以在 mysql2 的 0.3.0 之前的版本中找到。

引用自mysql2 的文档

于 2012-08-01T01:55:41.410 回答
0

从 Ubuntu 11.10 升级到 12.04 后,我遇到了同样的错误。这就是我解决问题的方法:

gem uninstall mysql2
bundle

我认为这里的关键是“本机扩展”——我想当我上次安装时,我使用的是不同版本的 mysql。

Installing mysql2 (0.3.11) with native extensions
于 2012-08-19T17:58:48.447 回答