web-dev-qa-db-fra.com

RuntimeError avec mysql2 et Rails3 (bundler)

Je reçois cette erreur

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

Ici est un vidage de toute l'erreur et ma config et gemfile.

76
Swistak

J'ai eu la même erreur après la mise à niveau d'Ubuntu 11.10 vers 12.04. Voici comment j'ai résolu le problème:

gem uninstall mysql2
bundle

Je pense que la clé ici est les "extensions natives" - je suppose que lors de la dernière installation, j'utilisais une version différente de mysql.

Installing mysql2 (0.3.11) with native extensions
0
Josh W Lewis

J'obtenais la même erreur en utilisant Rails 3.0.7 et mysql2 0.3.2. La solution, que j'ai trouvée ici , consiste à utiliser une ancienne version de mysql2 Modifiez donc votre gemfile en

gem 'mysql2', '< 0.3'

et courir

bundle install 
101
stream7

Vous devez également changer l'adaptateur de mysql à mysql2 dans database.yml comme dit ici Installez mysql2 gem sur Snow Leopard pour Rails 3 avec rvm

De:

development: adapter: mysql

À:

development: adapter: mysql2

36
vrybas

Avez-vous inclus la gemme mysql2 dans votre gemfile à la place de l'ancienne gemme mysql, et exécuté l'installation du bundle par la suite?

14
amaseuk

Si vous utilisez rvm et que vous avez peut-être ajouté mysql2 en dehors de rvm, essayez ces étapes: Vérifiez que votre Gemfile indique:

gem 'mysql2'

ou pour Rails2.x:

gem 'mysql2', '~> 0.2.11'

puis:

$ 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

Maintenant Rails devrait démarrer correctement.

6
mmell

Cela a également résolu le problème que j'avais avec:

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

Vous devez en fait exécuter: gem install mysql2 et ajoutez le gem à votre configuration.

3
maxkaplan

exécutez simplement "gem install mysql" ajoutez également la même chose dans gemfile et exécutez bundle. travaillé

2
supriya

Si quelqu'un rencontre toujours un problème d'installation de mysql2 gem avec Rails 3 sous Windows, alors référez-vous aux étapes détaillées de l'installation sur -

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

2
Ritesh Kumar

Même problème pour moi aussi. Mise à niveau vers Rails 3.1.rc4 puis rétrogradé à 3.0.3. A fonctionné pour moi.

1
connie

Je suis un débutant chez Ruby, Rails et Linux. Donc si cette solution n'a pas fonctionné, je n'assume aucune responsabilité :)

Étape 1:

Sudo gem uninstall mysql2

Étape 2:

Sudo gem install mysql -v 0.2.7

Démarrez webrick, si le même problème apparaît toujours, réinstallez Rails.

Cette solution fonctionne pour moi.

1
Tim

à partir de 0.3.0, et ActiveRecord 3.1 - l'adaptateur ActiveRecord a été retiré de ce joyau et dans ActiveRecord lui-même. Si vous devez utiliser mysql2 avec Rails versions <3.1 assurez-vous et spécifiez gem "mysql2", "~> 0.2.7" dans votre Gemfile

le fichier manquant (no such file to load) peut être trouvé dans les versions antérieures à la version 0.3.0 de mysql2.

extrait de la documentation de mysql2

0
Rafael Perea