Ruby gem mysql2 installer à défaut
Lorsque j'essaie d'installer le mysql2 gem, il échoue sans erreur apparente. Personne ne sait quoi faire pour contourner ce donc mysql2 installe?
$ sudo gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** 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=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
Vous devez vous connecter pour publier un commentaire.
Vous avez 64 bits MySQL installé sur votre machine, plus les outils de construction que vous obtenez lorsque vous installer xcode.
brew install mysql
et puisgem install mysql
sans problèmes - thx!Ubuntu:
Que c'est!
Résultat:
sudo gem install mysql2 -- --with-mysql-include=/usr/include/mysql/ --with-mysql-lib=/usr/lib/mysql/
with-mysql-dir
. Il suffit d'installerlibmysqlclient-dev
puis exécutezbundle install
et cela devrait fonctionner.libmysqlclient-dev
résolu mon problème avec Ubuntu 14.04. Merci!Vous avez besoin de la base de données MySQL en-têtes de développement pour mysql2 pour compiler correctement. Ceci est nécessaire, car une grande partie de la fonctionnalité est écrit en C et par la suite lié à l'encontre de MySQL.
Une solution est soit de point de la gemme de l'installateur de votre dossier d'installation de mysql explicitement comme
ou par l'installation d'un serveur mysql à un emplacement connu (par exemple en utilisant homebrew.) et puis d'installer la gem
Les deux approches nécessitent d'avoir XCode installé afin d'avoir la compilateur GCC.
--with-mysql-dir=
option était tout ce dont j'avais besoin pour résoudre mon problème.--with-mysql-dir
a été fait à l'origine d'un problème. Je viens de quitter et laisser l'installer dans un répertoire par défaut. Je viens de direct installé une version spécifique avecgem install mysql2 -v '0.3.18'
Avec Brew et MySQL installé, j'ai utilisé la commande suivante pour installer les mysql2 gem
Si vous utilisez le système de regroupement, vous pouvez dire bundler à propos de ce avec la commande:
Comme indiqué ici: http://gembundler.com/man/bundle-config.1.html
sur Mac OSX Moutain Lion, au-dessous de commande a fonctionné pour moi:
Ubuntu 15.04:
Ubuntu-16.04:
De sortie:
Vous voudrez peut-être consulter ce fil à la base de données MySQL site web: http://forums.mysql.com/read.php?116,178217,178217, en particulier la réponse de Scott Derrick: http://forums.mysql.com/read.php?116,178217,189357#msg-189357
Pour être plus précis, essayez d'utiliser
Espère que ça aide.
J'ai creusé par le biais de 2 jours de l'internet et de Dépassement de Pile, et il n'était pas jusqu'à ce que j'ai trouvé ce lien et puis commencer le travail par le biais de ce billet pour mysql2 que j'ai effectivement résolu le problème.
Avec ma configuration (comme expliqué dans le billet), le compilateur commutateurs de -Wno-null-conversion -Wno-inutilisé-privé-domaine de pause et de me donner une erreur qui n'était pas tout à fait correcte, ce qui a été:
Je suppose que si vous tapez
rvm use [email protected] --create
dans l'annuaire, puisbundle install
il fonctionne.J'ai résolu ce problème en étant précis sur l'endroit où sont les répertoires, pas besoin de réinstaller rien, avec brew ou macports ou que ce soit, simplement en spécifiant où sont les choses (une seule chose: le rubis sur mon mac a été installé avec rvm, je ne suis pas en utilisant la valeur par défaut qui vient avec os x):
de les ajouter à votre
gem install mysql2
les drapeaux ci-dessous--srcdir="..."
- la comprend--with-mysql-dir="..."
- mysql répertoire--with-mysql-config="..."
- le mysql_config fichiercomme ce
gem install mysql2 --srcdir=/usr/local/mysql/include/--with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
Dans Centos 6.x (7 devrait fonctionner) avec SCL (collection de logiciels) rh-mysql: