2010-08-12 61 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