Gem::LoadError
Specified 'mysql2' for database adapter, but the gem is not loaded.
Add `gem 'mysql2'` to your Gemfile
Cette erreur s'est produite lors du chargement des fichiers suivants:
active_record/base
C’est l’erreur que j’obtenir en cours d’exécution Rails serveur.
The mysql2 gem has been added to the Gemfile as well.
J'ai fait bundle install
, et j'ai essayé de redémarrer le serveur mais j'ai toujours l'erreur.
Si vous rencontrez cette erreur lors de la mise à niveau vers Rails 4.2.4 (également avec Rails 4.1.5)), essayez d’utiliser cette version de mysql2:
gem 'mysql2', '~> 0.3.18'
Apparemment, mysql2 n’est toujours pas compatible avec les versions plus récentes de Rails car Rails 4.2.4 est assez récent, le temps de répondre à cette question par moi 8 septembre 2015 utilisez donc la ligne ci-dessus dans votre fichier Gem et exécutez:
bundle install
Vous devriez être bon pour aller
Cela a fonctionné pour moi lorsque j'ai spécifié une version de mysql2 avant la plus récente (0.4.0). Pour une raison quelconque, il existe un problème avec Rails 4.2.4 et cette gem 0.4.0. Donc, pour résoudre le problème, je viens de spécifier la gem précédente publiée: 0.3.20 et cela fonctionnait bien pour moi!
gem 'mysql2', '~> 0.3.20'
bundle install
Vous pouvez vérifier toutes les versions de gemmes ici: https://rubygems.org/gems/mysql2/versions
Changer en
gem 'mysql2', '~> 0.3.18'
dans votre Gemfile.
Ce fil sur le mysql2 officiel Github dit de le faire. Vous devez déclarer ce numéro de version si vous êtes Rails version 4.x.x.
https://github.com/brianmario/mysql2/issues/675
Puis lancez bundle update mysql2
.
J'ai eu la même erreur après une mise à jour vers Rails 4.1 et j'ai réussi à la résoudre en mettant à jour mysql2. Exécutez ceci dans votre dossier Rails app:
$ bundle update mysql2
Ce problème peut se produire si vous utilisez une version plus récente de Rails> 4
Faites ces deux étapes simples, cela fonctionnera. Ouvrez votre Gemfile et trouvez la ligne ci-dessous
gem 'mysql2'
remplace cette ligne par une version spécifique de mysql comme ci-dessous
gem 'mysql2', '~> 0.3.18'
Maintenant, arrêtez le serveur et lancez bundle
bundle install
Maintenant, redémarrez votre serveur. Ça devrait marcher.
Rails s
Étant débutant de la Ruby je ne pouvais pas comprendre la ligne bijou 'mysql2', '~> 0.3.18'
cela signifie simplement que vous allez aller dans votre dossier de projet Rails), puis il y aura une ligne pour mysql2, ce sera comme 0.4 * afin que vous puissiez le changer en gem 'mysql2', '~> 0.3 .18 '
et comme nous avons une nouvelle définition, nous devons reconstruire la dépendance afin de pouvoir exécuter cette commande simple comme expliqué ci-dessus installation groupée
Il ne charge pas mysql2 gem car la nouvelle version de mysql2 (0.4.1) ne parvient pas à charger mysql2_adaptor. Cela fonctionne pour moi.
gem 'mysql2', '~> 0.3.13'
et courir
bundle install
J'ai eu la même erreur et cela est dû au fait que Rails 4.1 requiert une version minimale de mysql2 0.3.13, et la compatibilité maximale avec Windows est la version 0.3.11.
J'ai donc édité le fichier c:\RailsInstaller\Ruby1.9.3\lib\Ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb
et changé de ligne gem 'mysql2', '~> 0.3.13'
à gem 'mysql2', '~> 0.3.11'
, et ça marche jusqu'à présent.
Voici comment j'ai corrigé ceci:
bundle config
bundle config --delete without
bundle install --deployment --without development test postgres
Crédits: Comment annuler l’installation d’un ensemble --without
Il ne charge pas mysql2 gem car la nouvelle version de mysql2 (> = 0.4.0) ne parvient pas à charger mysql2_adaptor. Pouvez-vous essayer ceci?
gem 'mysql2', '~> 0.3.13'
Espérons que cela fonctionne.
Je suis un nouveau venu sur Ruby sur Rails et sur les sites Web, mais j'entends ce qui a fonctionné pour moi.
Je devais changer mon gemfile, gem 'mysql2' en gem 'mysql2', '~> 0.3.13' puis dans Rails j'ai installé l'installation groupée puis j'ai essayé Rails s et ai obtenu donc j'ai essayé de mettre à jour le paquet mysql2 puis dans Rails tapé Rails s, et cela a fonctionné
J'ai résolu le problème, en installant le mysql2 gem local (gem install mysql2, bundle install) et en ajoutant la ligne suivante au fichier Gemfile:
gem 'mysql2'
Configuration de l'adaptateur mysql2 dans database.yml
adapter: mysql2
était aussi important!