2010-08-12 5 views
76

tôi nhận được lỗi nàyRuntimeError với mysql2 và rails3 (bundler)

`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 là bãi chứa của toàn bộ lỗi và cấu hình và gemfile tôi.

+0

Tôi gặp vấn đề tương tự và sau một vài phân tích, tôi có thể cài đặt thành công mysql2 trên các cửa sổ có đường ray3. Quá trình tôi theo sau được đưa ra trong bài đăng trên blog sau đây. http://www.kyybaventures.com/blog/installing-mysql2-gem-ruby-rails-windows Hy vọng, nó sẽ hữu ích để giải quyết vấn đề trên. Mani – maniempire

Trả lời

0

tôi đã có lỗi tương tự sau khi nâng cấp từ Ubuntu 11,10-12,04. Đây là cách tôi đã khắc phục sự cố:

gem uninstall mysql2 
bundle 

Tôi nghĩ đây là 'tiện ích mở rộng gốc' - tôi giả sử khi tôi cài đặt lần cuối, tôi đang sử dụng một phiên bản khác của mysql.

Installing mysql2 (0.3.11) with native extensions 
14

Bạn đã bao gồm đá quý mysql2 trong gemfile của bạn thay vì đá quý mysql cũ và chạy bó cài đặt sau đó chưa?

+0

Điều này có thể giúp ai đó. http://stackoverflow.com/questions/3608287/installing-mysql2-gem-for-rails-3/3608756#3608756 –

3

này cũng khắc phục sự cố tôi đã có với:

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

Bạn thực sự cần phải chạy: gem install mysql2 và thêm đá quý để cấu hình của bạn.

+1

Tôi đã gặp sự cố này khi tôi cài đặt gem mysql2 theo cách thủ công. Sau đó, tôi sử dụng nó như bạn đã nói trong gemfile và chạy cài đặt bó. Nó tải lên, nhưng tôi đã nhận được không thể kết nối với lỗi mysql.sock. Vì vậy, tôi THEN chạy env ARCHFLAGS = "- kiến ​​trúc i386" đá quý cài đặt mysql2 --version 0.2.6 - - with-mysql-config =/usr/local/mysql/bin/mysql_config (i am trên mac pro) và điều này dường như giải quyết vấn đề của tôi. Ran rails s và hey presto..Hy vọng điều này sẽ giúp người khác ra ngoài :) – fullstacklife

+0

@dryprogrammers - Tôi có thể cung cấp cho bạn 100+, hãy đặt bình luận của bạn làm câu trả lời, nó cũng rất có liên quan với Ubuntu 12-10. Trên cập nhật đầy đủ Ubuntu 12.10 Chính xác gitlab sẽ không cài đặt. Băng. Sau nhiều giờ (6-8) tìm kiếm và thử nhiều thứ, tôi đã thử mac hack của bạn như một phương sách cuối cùng. LO VÀ BEHOLD nhiều như tôi (ho) don 't thực sự quan tâm ở tất cả cho Mac ... điều này đã làm nó cho tôi bây giờ tôi có thể đi ngủ ... hạnh phúc! :) – stefgosselin

36

Cũng cần phải thay đổi bộ chuyển đổi mysql-mysql2 trong database.yml như đã nói ở đây Install mysql2 gem on Snow Leopard for Rails 3 with rvm

Từ:

development: adapter: mysql

Để:

development: adapter: mysql2

+0

Điều đó đã làm điều đó cho tôi! –

+0

anh hùng unsung thân yêu, cảm ơn bạn –

2

chỉ cần chạy "đá quý tôi nstall mysql " cũng thêm cùng trong gemfile và chạy bó. làm việc

+0

này clued tôi in Tôi chạy "sudo đá quý cài đặt mysql2" và nó làm việc. Cảm ơn! –

+1

Quản lý đá quý thủ công bên ngoài Gemfile không được khuyến nghị. Nó là dễ bị các vấn đề phụ thuộc cho các nhà phát triển hoặc triển khai khác. –

101

tôi đã nhận được báo lỗi tương tự khi sử dụng đường ray 3.0 .7 và mysql2 0.3.2. Giải pháp mà tôi tìm thấy here, là sử dụng phiên bản cũ hơn của mysql2. Do đó sửa gemfile của bạn để

gem 'mysql2', '< 0.3' 

và chạy

bundle install 
+0

Điều này một cố định nó cho tôi trên Ubuntu 10.04 !! Nếu sử dụng RVM, bạn cũng có thể sử dụng: 'rvm gem install mysql2 --version = 0.2.7' và thêm dòng trên vào Gemfile của bạn. – TrinitronX

+0

Tôi đã gặp vấn đề tương tự chính xác hôm nay, lên tới 3.1 và quay lại 3.0.7. Đây là bản sửa lỗi. –

+0

Quay trở lại 0.2.7 cũng làm việc cho tôi. –

1

Tôi là một người mới bắt đầu tại ruby, đường ray, và Linux. Vì vậy, nếu giải pháp này không hiệu quả, tôi giữ không chịu trách nhiệm :)

Bước 1:

sudo gem uninstall mysql2 

Bước 2:

sudo gem install mysql -v 0.2.7 

Bắt đầu webrick, nếu cùng một vấn đề vẫn còn xuất hiện đường ray cài đặt lại.

Giải pháp này phù hợp với tôi.

+1

Không phải là thực tế xấu để cài đặt đá quý bằng sudo? http://stackoverflow.com/questions/2119064/sudo-gem-install-or-gem-install-and-gem-locations – Tass

1

Cùng vấn đề với tôi. Đã nâng cấp lên Rails 3.1.rc4 rồi hạ cấp xuống 3.0.3. Đã làm cho tôi.

6

Nếu bạn đang sử dụng RVM, và có thể thêm mysql2 ngoài RVM, hãy thử các bước sau: Xác nhận rằng Gemfile bạn nói:

gem 'mysql2' 

hoặc cho Rails2.x:

gem 'mysql2', '~> 0.2.11' 

sau đó:

$ 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 

Bây giờ, thanh ray sẽ bắt đầu chính xác.

0

là 0.3.0 và ActiveRecord 3.1 - bộ điều hợp ActiveRecord đã được rút ra khỏi đá quý này và vào ActiveRecord. Nếu bạn cần phải mysql2 sử dụng với phiên bản Rails < 3.1 chắc chắn và chỉ định đá quý "mysql2", "~> 0.2.7" trong Gemfile bạn

file thiếu (no such file to load) có thể được tìm thấy trong các trước Các phiên bản 0.3.0 của mysql2.

trích dẫn từ documentation of mysql2