Gem:: LoadError pour mysql2 gem, mais il est déjà dans Gemfile
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'obtiens en tournant le serveur rails.
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 l'erreur persiste.
13 réponses
si vous avez cette erreur lors de la mise à niveau vers rails 4.2.4 (aussi avec rails 4.1.5) essayez d'utiliser cette version de mysql2:
gem 'mysql2', '~> 0.3.18'
apparemment mysql2 n'est pas encore compatible avec la nouvelle version de rails parce que les rails 4.2.4 est assez nouveau que le temps de répondre à cette question par moi 8 Septembre 2015 alors utilisez la ligne ci-dessus dans votre fichier Gem et exécuter:
bundle install
Vous devriez être bon d'aller
cela a fonctionné pour moi quand j'ai spécifié une version gem mysql2 avant la plus récente (0.4.0). Pour une raison quelconque, Il ya un problème avec les Rails 4.2.4 et que gem 0.4.0. Donc, pour résoudre le problème je viens de spécifier la gemme précédente sortie: 0.3.20 et il a fonctionné très 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 à
gem 'mysql2', '~> 0.3.18'
dans votre Gemfile.
ce fil sur le mysql2 officiel GitHub dit de faire ceci. Vous devez déclarer ce numéro de version si vous êtes rail version 4.x.x.
https://github.com/brianmario/mysql2/issues/675
, puis bundle update mysql2
.
j'ai eu la même erreur après une mise à niveau vers Rails 4.1 et j'ai réussi à la résoudre en mettant mysql2 à jour. Exécutez ceci dans le dossier de votre application rails:
$ bundle update mysql2
ce problème peut se produire si vous utilisez une version plus récente de rails > 4
faites ces deux simples étapes, ça va marcher. Ouvrez votre Gemfile et trouvez la ligne ci-dessous
gem 'mysql2'
remplacer cette ligne par une version mysql spécifique comme ci-dessous
gem 'mysql2', '~> 0.3.18'
maintenant arrêtez le serveur et lancez bundle
bundle install
redémarrez maintenant votre serveur. Il devrait fonctionner.
rails s
étant débutant au ruby Je ne pouvais pas comprendre la ligne gem 'mysql2',' ~ > 0.3.18 '
cela signifie simplement aller à votre dossier de projet rails et puis il ya ligne pour mysql2 il sera comme 0.4* de sorte que vous pouvez le changer gem 'mysql2', '~> 0.3.18'
et comme nous avons une nouvelle définition, nous devons reconstruire la dépendance afin de faire cette commande simple comme expliqué en haut bundle install
il ne charge pas mysql2 gem parce que la nouvelle version de mysql2(0.4.1) gem incapable de charger le mysql2_adaptor. C'est de travailler pour moi.
gem 'mysql2', '~> 0.3.13'
et courir
bundle install
j'ai eu la même erreur et c'est parce que Rails 4.1 exige minimum mysql2 version 0.3.13, et maximum compatible avec Windows est version 0.3.11.
alors j'ai édité le fichier c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb
et j'ai changé la ligne gem 'mysql2', '~> 0.3.13'
en gem 'mysql2', '~> 0.3.11'
, et cela fonctionne jusqu'à présent.
Voici comment j'ai corrigé cela:
bundle config
bundle config --delete without
bundle install --deployment --without development test postgres
il ne charge pas mysql2 gem parce que la nouvelle version de mysql2 (>= 0.4.0) gem incapable de charger le mysql2_adaptor. Pouvez-vous essayer?
gem 'mysql2', '~> 0.3.13'
avec un peu de chance, ça devrait marcher.
j'ai résolu le problème en installant le local gem mysql2 (gem install mysql2, bundle install) et en ajoutant la ligne suivante au fichier GEM:
gem 'mysql2'
paramétrage de l'adaptateur mysql2 dans la base de données.yml
adapter: mysql2
était aussi important!
je donne une fessée neuve à Ruby sur les Rails et les sites Web mais j'entends ce qui a fonctionné pour moi.
j'ai dû changer mon gemfile, gem 'mysql2' gem 'mysql2', '~> 0.3.13' puis dans les rails j'ai tapé bundle installer puis j'ai essayé les rails et j'ai eu des erreurs alors j'ai essayé de mettre à jour mysql2 puis dans les rails tapé des rails s, et il a fonctionné
j'ai déjà installé mysql2 0.4.5 mais qui me donnait cette erreur donc j'ai installé une autre version de mysql2 par:
gem install mysql2 --version 0.3.20
J'espère que ça résoudra votre problème.