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 sur l'exécution du serveur de 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 j'ai toujours l'erreur.
ruby-on-rails
mysql2
gemfile
Mysoulisinseoul
la source
la source
bundle
après avoir ajouté le gem et redémarré le serveur?bundle install --deployment
Réponses:
Si vous rencontrez cette erreur lors de la mise à niveau vers les rails 4.2.4 (également avec les rails 4.1.5), essayez d'utiliser cette version de mysql2:
Apparemment, mysql2 n'est toujours pas compatible avec la nouvelle version des rails car les rails 4.2.4 sont assez nouveaux car je réponds à cette question le 8 septembre 2015, alors utilisez la ligne ci-dessus dans votre fichier Gem et exécutez:
Tu devrais être prêt à partir
la source
Cela a fonctionné pour moi lorsque j'ai spécifié une version de mysql2 gem avant la plus récente (0.4.0). Pour une raison quelconque, il y a un problème avec Rails 4.2.4 et cette gemme 0.4.0. Donc, pour résoudre le problème, je viens de spécifier la gemme précédente publiée: 0.3.20 et cela a bien fonctionné pour moi!
Vous pouvez vérifier toutes les versions de gemmes ici: https://rubygems.org/gems/mysql2/versions
la source
Changer pour
dans votre Gemfile.
Ce fil sur le mysql2 officiel de Github dit de le faire. Vous devez déclarer ce numéro de version si vous utilisez la version 4.xx
https://github.com/brianmario/mysql2/issues/675
Puis cours
bundle update mysql2
.la source
bundle update
car cela mettra à jour toutes vos gemmes. La commande estbundle update mysql2
. Cela peut sembler évident, mais ce n'est pas la bonne commande et pourrait avoir des conséquences inattendues. (Pour revenir debundle update
, exécutergit checkout -- Gemfile.lock
)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 à jour mysql2. Exécutez ceci dans le dossier de votre application rails:
la source
Ce problème peut se produire si vous utilisez une version plus récente des rails> 4
Faites ces deux étapes simples, cela fonctionnera. Ouvrez votre Gemfile et trouvez la ligne ci-dessous
remplacez cette ligne par une version spécifique de mysql comme ci-dessous
Arrêtez maintenant le serveur et exécutez le bundle
Redémarrez maintenant votre serveur. Cela devrait marcher.
la source
Étant débutant avec le rubis, je n'ai pas pu comprendre la gemme de ligne 'mysql2', '~> 0.3.18'
cela signifie simplement aller dans le dossier de votre projet rails et puis il y a une ligne pour mysql2 ce sera comme 0.4 * donc vous pouvez le changer en gem 'mysql2', '~> 0.3.18'
et comme nous avons une nouvelle définition, nous devons reconstruire la dépendance afin de faire cette simple commande comme expliqué sur l' installation du bundle supérieur
la source
Il ne charge pas le gem mysql2 car la nouvelle version du gem mysql2 (0.4.1) est incapable de charger le mysql2_adaptor. Cela fonctionne pour moi.
et courir
la source
J'ai eu la même erreur et c'est parce que Rails 4.1 nécessite au minimum la version 0.3.13 de mysql2, et le maximum compatible 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é la lignegem 'mysql2', '~> 0.3.13'
engem 'mysql2', '~> 0.3.11'
, et cela fonctionne jusqu'à présent.la source
Voici comment j'ai résolu ce problème:
Crédits: Comment annuler l'installation du bundle - sans
la source
Il ne charge pas le gem mysql2 car la nouvelle version du gem mysql2 (> = 0.4.0) est incapable de charger le mysql2_adaptor. Pouvez-vous essayer ça?
gem 'mysql2', '~> 0.3.13'
J'espère que cela devrait fonctionner.
la source
J'ai résolu le problème, en installant le gem mysql2 local (gem install mysql2, bundle install) et en ajoutant la ligne suivante au Gemfile:
gem 'mysql2'
Définition de l'adaptateur mysql2 dans database.yml
adapter: mysql2
était également important!
la source
Je suis tout nouveau sur Ruby on Rails et sur les sites Web, mais j'entends ce qui a fonctionné pour moi.
J'ai dû changer mon gemfile, gem 'mysql2' en gem 'mysql2', '~> 0.3.13' puis dans les rails j'ai tapé bundle install puis j'ai essayé les rails s et j'ai eu des erreurs alors j'ai essayé la mise à jour du bundle mysql2 puis dans les rails tapés rails s, et ça a marché
la source
J'ai résolu le problème en installant le fichier libmysqlclient-dev. sudo aptitude installe libmysqlclient-dev et le bundle plus récent.
la source
J'ai déjà installé mysql2 0.4.5 mais cela me donnait cette erreur donc j'ai installé une autre version de mysql2 par:
gem installer mysql2 --version 0.3.20
J'espère que ceci résoudra votre problème.
la source