J'essaie d'installer la gemme mysql2 sur Windows 7 J'ai téléchargé le connecteur depuis le site mysql et placé le libmysql.dll dans Ruby200\bin
puis installez gemq mysql2
Ce sont les résultats que je suis sombre ici?
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
C:/Ruby200/bin/Ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--Ruby=C:/Ruby200/bin/Ruby
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/
extconf.rb:37:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError
)
Gem files will remain installed in C:/Ruby200/lib/Ruby/gems/2.0.0/gems/mysql2-0.
3.13 for inspection.
Results logged to C:/Ruby200/lib/Ruby/gems/2.0.0/gems/mysql2-0.3.13/ext/mysql2/g
em_make.out
EDIT 30/09/2014
Lorsque cette réponse a été publiée, le programme d'installation 64 bits Rails n'était pas la version recommandée - il semble maintenant que les gens commencent à l'utiliser davantage. Il convient de le noter lorsque vous téléchargez le connecteur MySQL, vous devez téléchargez 64 ou 32 bits pour correspondre à la version de Rails que vous avez installée.
Étonnamment, j'ai eu la chance de trouver une réponse très tôt ce matin alors que je cherchais autre chose de même nature. Je ne sais pas trop pourquoi il n'y a pas un seul guide simple pour cela car il semble être très simple!
Pour une raison quelconque, le simple fait de spécifier le répertoire mysql lorsque vous installez la gem ne reprend pas avec d'autres sous-répertoires, vous devez donc définir les paramètres manuellement.
Pour toute autre personne rencontrant le même problème, j'ai fait ce qui suit:
1) Téléchargez le connecteur MySql C à partir de: http://dev.mysql.com/downloads/connector/c/
REMARQUE Ne téléchargez pas le programme d'installation, téléchargez l'ARCHIVE pour votre système d'exploitation
Téléchargez l'archive 32 bits ou 64 bits pour correspondre à la version de Rails que vous avez installée.
2) Extrayez le fichier vers C:\mysql-connector
3) Puis a couru:
gem install mysql2 --platform=Ruby -- '--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connector"'
Voila tout fonctionne bien.
EDIT 30/01/2014
Je viens de faire une nouvelle installation sur une machine maçonnée et la commande de l'étape 3 n'a pas fonctionné, ce qui a fonctionné était:
gem install mysql2 --platform=Ruby -- '--with-mysql-dir="C:\mysql-connector"'
Je ne sais pas trop quelle est la différence, mais cette fois, il semble que les répertoires soient corrects, donc si le premier ne fonctionne pas, essayez celui-ci!
Je pense que cela a à voir avec la façon dont vous procédez à l'installation de Rails, cette fois j'ai utilisé le railsinstaller qui semble configurer correctement les chemins.
Une grande partie du résultat ici semble dépendre du Shell que vous utilisez, beaucoup de gens ont des problèmes avec PowerShell, donc je ne conseillerais pas de l'utiliser. J'ai fait cela dans une invite de commande élevée.
Oh et enfin si vous obtenez une erreur concernant la gemme mysql2 lorsque vous faites Rails S vous devez copier le libmysql.dll du répertoire LIB du connecteur mysql dans le répertoire bin où Rails a été installé.
J'ai essayé la solution de @Mrk Fldig mais cela n'a pas fonctionné ... Donc, ce qui a résolu le problème était:
gem install mysql2 --platform=Ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'
Un écueil à savoir est que j'ai changé les barres obliques inverses (\) en barres obliques normales (/). J'ai essayé la même procédure avec des barres obliques inversées et cela n'a pas fonctionné.
Le programme d'installation inclut déjà les connecteurs C pour MySQL à MySQL Connector C 6.1 6.1.2
répertoire. Par conséquent, en passant uniquement le --with-mysql-dir
paramètre sans le --with-mysql-lib
ou --with-mysql-include
paramètres, fait que la gemme regarde le même répertoire pour les répertoires lib
et include
Étapes pour Ruby 2.1.3, Windows 8.1 et MySQL Server 5.7. Tous x64 bits.
Ruby dk.rb init
Ruby dk.rb install
gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.7\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.7\include" --with-mysql-dir="c:\Program Files\MySQL\MySQL Server 5.7"'
J'ai essayé toutes les méthodes fournies mais la même erreur apparaît encore et encore :(
Heureusement, une ancienne version installée sans aucune erreur!
gem uninstall mysql2
gem install mysql2 -v 0.2.6
C'est ce qui a fonctionné pour moi pour la même erreur sur Windows 8 64 bits et en utilisant Ruby 64 bits
Exécutez cette commande:
gem install mysql2 -v '0.3.16' -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.6\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.6\include"'
J'espère que cela t'aides
Pour Cygwin, j'ai pu consolider différentes étapes.
Essayez de suivre ces étapes:
Je suppose:
1) Désinstallez votre gem myslq2:
$ gem uninstall mysql2
2) Réinstallez la gemme mysql2 avec l'option path:
$ gem install mysql2 -- '--with-mysql-lib="C:\wamp\bin\mysql\mysql5.6.12\lib" --with-mysql-include="C:\wamp\bin\mysql\mysql5.6.12\include"'
3) copiez le libmysql.dll que vous trouvez dans C:\wamp\bin\mysql\mysql5.6.12\lib dans C:\Ruby200-x64\bin
4) ouvrez dans votre Rails application le fichier "Gemfile" et éditez-le en activant mysql2, en ajoutant:
gem 'mysql2'
5) Démarrez votre serveur Rails:
$ Rails server
6) ouvrez votre navigateur et accédez à localhost: 3000 /
Voici ce qui a fonctionné pour moi:
gem install mysql2 -- '--with-mysql-dir="C:\wamp\bin\mysql\mysql5.5.xx"'
Je recherche depuis quelques heures et je n'ai pas vu cette variation suggérée, alors j'espère que cela aidera quelqu'un!
J'ai toujours un problème avec mysql2 gem mais l'approche ci-dessous m'a aidé à installer mysql avec RoR sur Windows Env.
Étape 1: modifications du fichier Gem: ({app}/Gemfile)
Mettre à jour mysql2 -> mysql
Étape 2: mises à jour dans le fichier database.yml ({app} /config/database.yml)
Changer d'adaptateur: mysql2 -> adaptateur: mysql
Hôte: localhost -> Hôte: 127.0.0.1
Étape 3: Téléchargez mysql-connector-c-noinstall-6.0.2-win32
Étape 4: Copiez le fichier mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll dans C:\RailsInstaller\Ruby1.9.3\bin
Étape 5: mise à jour du bundle && Démarrer Rails serveur
Programme d'installation de Ruby Rubyinstaller-devkit-2.5.3-1-x64
Connecteur mysql: mysql-connector-c-6.1.11-win32 https://downloads.mysql.com/archives/c-c/?version=6.1.2&os=src
Installation de gemmes: gem install mysql2 --platform = Ruby - --with-mysql-lib = "c:\mysql-connector-c-6.1.11-win32"
Essayez également de désactiver votre antivirus avant d'installer la gemme. Le mien a été installé après avoir exécuté la commande suivante:
gem install mysql2 --platform=Ruby -- '--with-mysql-lib=
"C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --wit
h-mysql-dir="C:\mysql-connector"'
La même commande ne fonctionnait pas lorsque mon antivirus était activé, car il poussait un fichier Ruby dans la poitrine. J'espère que cela aide quelqu'un.