2010-08-12 56 views
76

我得到这个错误RuntimeError与mysql2和Rails3中(打捆)

`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- 

Here是整体错误,我的配置和Gemfile中的转储。

+0

我面临同样的问题,经过多次分析,我能够成功地在windows3上安装mysql2与rails3。我遵循的过程在以下博客文章中给出。 http://www.kyybaventures.com/blog/installing-mysql2-gem-ruby-rails-windows希望能够解决上述问题。 Mani – maniempire 2011-08-04 16:30:31

回答

0

引述我升级从Ubuntu的11.10到12.04后出现相同的错误。这是我如何解决了这一问题:

gem uninstall mysql2 
bundle 

我认为这里的关键是“原生扩展” - 我想,当我最后安装的,我使用的是不同版本的MySQL。

Installing mysql2 (0.3.11) with native extensions 
14

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

+0

这可能有助于某人。 http://stackoverflow.com/questions/3608287/installing-mysql2-gem-for-rails-3/3608756#3608756 – 2010-12-17 05:44:45

3

这也解决了该问题,我与:

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

实际上,你需要运行:创业板安装mysql2和创业板添加到您的配置。

+1

我有这个问题,因为我手动安装mysql2宝石。然后我像在gemfile中所说的那样使用它并运行软件包安装。它加载了,但我得到了无法连接到mysql.sock错误。所以我然后运行env ARCHFLAGS =“ - arch i386”gem install mysql2 --version 0.2.6 - --with-mysql-config =/usr/local/mysql/bin/mysql_config(我在mac pro上)和这似乎解决了我的问题。冉铁路和嘿presto ..希望这可以帮助别人:) – fullstacklife 2011-01-16 21:37:46

+0

@dryprogrammers - 我可以给你100+,请把你的评论作为答案,这是非常相关的Ubuntu 12-10以及。在完全更新的Ubuntu 12.10 Precise gitlab不会安装。磕碰。经过许多小时(6-8)搜索和尝试许多事情之后,我试着用你的mac hack作为最后的手段。 LO和BEHOLD就像我(咳嗽)一点都不关心Mac一样......现在我可以去睡觉了......快乐! :) – stefgosselin 2013-03-13 04:16:34

36

还需要如下 Install mysql2 gem on Snow Leopard for Rails 3 with rvm

从说,从mysql在database.yml中更改适配器mysql2

development: adapter: mysql

要:

development: adapter: mysql2

+0

这对我来说伎俩! – 2011-01-30 20:46:54

+0

亲爱的无名英雄,谢谢 – 2011-08-30 21:31:41

2

只是运行“宝石我nstall mysql“ 也在gemfile和run bundle中添加相同。 工作

+0

这引导了我。我跑了“sudo gem install mysql2”,它工作。谢谢! – 2011-03-09 03:50:23

+1

不建议在Gemfile之外手动创建Gem管理。对于其他开发人员或部署,它很容易出现依赖性问题。 – 2011-06-20 20:55:55

101

我得到了同样的错误,而使用Rails 3.0 .7和mysql2 0.3.2。 解决方案,我发现here, 是使用旧版本的mysql2。因此,编辑您的Gemfile到

gem 'mysql2', '< 0.3' 

和运行

bundle install 
+0

这个在Ubuntu 10.04上为我修好了!如果使用RVM,还可以使用:'rvm gem install mysql2 --version = 0.2.7',并将上面的行添加到您的Gemfile中。 – TrinitronX 2011-05-19 22:00:07

+0

今天我有这个完全相同的问题,上升到3.1,回到3.0.7。这是修复。 – 2011-05-23 01:51:18

+0

回滚到0.2.7也适用于我。 – 2011-05-23 17:29:18

1

我是一个初学者在红宝石,铁轨和Linux。因此,如果这个解决方案没有奏效,我认为没有责任:)

第1步:

sudo gem uninstall mysql2 

第2步:

sudo gem install mysql -v 0.2.7 

启动的WEBrick,如果同样的问题仍然出现重新安装导轨。

此解决方案适用于我。

+1

是不是通常不好的做法,使用sudo安装gem? http://stackoverflow.com/questions/2119064/sudo-gem-install-or-gem-install-and-gem-locations – Tass 2011-08-18 13:52:43

1

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

6

如果您正在使用RVM,并可能增加mysql2 RVM之外,请尝试以下步骤: 确认您的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应该可以正常启动。

0

截至0.3.0,ActiveRecord 3.1 - ActiveRecord适配器已被 拉出该Gem并进入ActiveRecord本身。如果你需要使用 与mysql2版本的Rails 3.1 <确保并指定宝石 “mysql2”,“〜> 0.2.7”在你的Gemfile

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

documentation of mysql2