web-dev-qa-db-fra.com

Difficultés à installer mysql gem sur Ubuntu

J'essaye d'installer le mysql 2.8.1 gem. Je l'utiliserais pour créer une application Rails 2.0.2 sur Ubuntu 10.04. J'utiliserais Ruby 1.8.7. J'ai installé les dépendances de développement (autres gemmes). Pour certaines raisons, je ne parviens pas à l'installer. Je ne suis pas capable de comprendre exactement comment résoudre ce problème. S'il vous plaît aider!

Je reçois le message suivant dans le terminal lorsque je tente de l'installer:

mohnish@pc146724-desktop:~/Downloads$ Sudo gem install mysql-2.8.1.gem 
Building native extensions.  This could take a while...
ERROR:  Error installing mysql-2.8.1.gem:
    ERROR: Failed to build gem native extension.

/usr/bin/Ruby1.8 extconf.rb
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... yes
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=/usr/bin/Ruby1.8
    --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 /usr/lib/Ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/Ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
mohnish@pc146724-desktop:~/Downloads$ 

Merci de votre aide!!

50
boddhisattva

Essayez ceci puis installez la gem mysql:

Sudo apt-get install libmysqlclient-dev 

Si cela ne suffit pas, essayez comme ça

 Sudo apt-get install libmysqlclient-dev libmysqlclient16 Ruby-dev
121
Zabba

Essayez ceci puis installez la gem mysql:

Sudo apt-get installez libmysqlclient-dev libmysqlclient16 

Cela a fonctionné après l'exécution de Sudo gem install mysql.  

La documentation ne s’installe toujours pas correctement (tas d’erreurs "Aucune définition", bien que ce ne soit pas vraiment un gros problème.

9
Andrew Plummer

Vous devez faire ce que le message d'erreur vous dit: vérifiez le fichier mkmf.log! Recherchez ce fichier à l'aide de find /usr/lib/Ruby/gems/1.8/gems/ -name mkmf.log. Généralement, ce message d'erreur apparaît car vous avez oublié d'installer le package -dev pour l'extension que vous tentiez d'installer. Donc, si vous vouliez installer la gem mysql, vous avez probablement oublié d’installer d’abord libmysqlclient14-dev. Faire une recherche d'apt-cache | grep dev pour trouver les paquets appropriés.

plz check this pour plus d'informations

2

Dans mon cas, j'ai eu le message d'erreur suivant:

Une erreur s'est produite lors de l'installation de mysql (2.8.1), et Bundler ne peut pas continuer. Assurez-vous que gem install mysql -v '2.8.1' réussit avant de grouper.

J'ai essayé: gem install mysql -v '2.8.1' et j'ai reçu un message d'erreur semblable à ce que vous avez eu.

Je l'ai corrigé en procédant comme suit:

  • STEP (1): lancez ceci: Sudo apt-get install libmysqlclient-dev 

  • ÉTAPE (2): installer mysql: gem install mysql -v 2.8.1

Vous devriez recevoir un message de succès semblable à ceci:

Mysql-2.8.1 installé avec succès 
Installation de la documentation ri pour mysql-2.8.1 1 gem installé

J'espère que ma réponse aide.

0
almawhoob