web-dev-qa-db-fra.com

Installation de MySQL: ERREUR: impossible de créer une extension native de gem

J'essaie d'installer MySQL vers la dernière version en raison d'une erreur d'installation à un moment ou à un autre. J'exécute la commande gem install mysql et je reçois les informations suivantes:

Construire des extensions natives. Cela pourrait prendre un certain temps ... ERREUR: Erreur lors de l'installation de mysql: ERREUR: Echec de la création de l'extension native de gem.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb extconf.rb: 4: avertissement: Répertoire non sécurisé avec une écriture en écriture dans le répertoire PATH, mode 040777 extconf.rb: 4: warning: répertoire en écriture/usr/bin en mode non sécurisé en mode PATH, mode 040777 extconf.rb: 7: avertissement: répertoire en écriture en mode non sécurisé/usr/bin en mode PATH, mode 040777 mkmf.rb ne peut pas trouver de fichier d'en-tête pour Ruby dans/Système /Bibliothèque/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/ruby.h

Les fichiers Gem resteront installés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 pour inspection. Résultats consignés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

J'ai cherché et essayé tout un tas de choses, de l'installation de versions spécifiques à la réinstallation de Ruby sans aucune chance.

Des idées où je peux me tromper?

J'essaie d'installer MySQL vers la dernière version en raison d'une erreur d'installation à un moment ou à un autre. J'exécute la commande gem install mysql et je reçois les informations suivantes:

Construire des extensions natives. Cela pourrait prendre un certain temps ... ERREUR: Erreur lors de l'installation de mysql: ERREUR: Echec de la création de l'extension native de gem.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb extconf.rb: 4: avertissement: Répertoire non sécurisé avec une écriture en écriture dans le répertoire PATH, mode 040777 extconf.rb: 4: warning: répertoire en écriture/usr/bin en mode non sécurisé en mode PATH, mode 040777 extconf.rb: 7: avertissement: répertoire en écriture en mode non sécurisé/usr/bin en mode PATH, mode 040777 mkmf.rb ne peut pas trouver de fichier d'en-tête pour Ruby dans/Système /Bibliothèque/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/ruby.h

Les fichiers Gem resteront installés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 pour inspection. Résultats consignés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

J'ai cherché et essayé tout un tas de choses, de l'installation de versions spécifiques à la réinstallation de Ruby sans aucune chance.

Des idées où je peux me tromper?

EDIT: J'ai installé XCode sur mon DVD Snow Leopard et l'erreur a légèrement changé:

Construire des extensions natives. Cela pourrait prendre un certain temps ... ERREUR: Erreur lors de l'installation de mysql: ERREUR: Echec de la création de l'extension native de gem.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb extconf.rb: 4: avertissement: Répertoire non sécurisé avec une écriture en écriture dans le répertoire PATH, mode 040777 extconf.rb: 4: warning: répertoire non sécurisé en écriture dans le monde/usr/bin dans PATH, mode 040777 extconf.rb: 7: warning: répertoire en écriture non sécurisé dans le monde/usr/bin dans PATH, mode 040777 extconf.rb: 17: attention: dans le répertoire non sécurisé/bin dans PATH, mode 040777 recherchant mysql_query () dans -lmysqlclient ... pas de recherche de main () dans -lm ... oui recherche de mysql_query () dans -lmysqlclient ... pas de vérification de main () dans - lz ... oui vérifiant la présence de mysql_query () dans -lmysqlclient ... pas de vérification de main () dans -lsocket ... non, la vérification de mysql_query () dans -lmysqlclient ... pas de vérification de main () dans -lnsl. .. pas de vérification de mysql_query () dans -lmysqlclient ... pas de vérification de main () dans -lmygcc ... pas de vérification de mysql_query () dans -lmysqlclient ... non * extconf.rb échoué * Impossible de créer le Makefile pour une raison quelconque, probablement le manque de librairies nécessaires et/o r en-têtes. Consultez le fichier mkmf.log pour plus de détails. Vous pouvez avoir besoin d'options de configuration.

Options de configuration fournies: --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 =/Système/Bibliothèque/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby --with-mysql-config --without-mysql-config --with-mysql-dir - sans-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

Les fichiers Gem resteront installés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 pour inspection. Résultats consignés dans /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

faire "quel mysql" sur la ligne de commande ne retourne rien, ce qui signifie qu'il ne le reconnaît pas. J'ai également installé l'option de préférences système MySQL et je ne peux pas arrêter l'exécution de MySQL. Maintenant, je suis complètement coincé comme quoi faire!

EDIT EDIT

Je viens de réinstaller complètement MySQL avec ce guide http://hivelogic.com/articles/installing-mysql-on-mac-os-x

Malheureusement cela n'a pas fonctionné non plus, je reçois toujours les mêmes erreurs. Je ne peux même pas faire mysql -uroot en ligne de commande, je reçois le message d'erreur suivant:

ERREUR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2)

Donc, je pense avoir tout essayé.

** RESOLU *

Désolé les gars, la raison pour que cela ne fonctionne pas était à cause des chemins MySQL. J'ai blogué ici: http://www.kieransenior.co.uk/2010/02/mysql-cant-connect-using-Ruby-on-Rails-mac-os-x-snow-leopard/

69
Kezzer

Installation de la gem mysql sur OSX

dans un terminal .. Commencez par "localiser mysql_config" puis remplacez le chemin dans la commande suivante par où ce fichier est.

$ Sudo gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while…
Successfully installed mysql-2.7
1 gem installed
61
Trevoke

Sur les systèmes Debian (ou Ubuntu), installez simplement le paquet libmysqlclient-dev en utilisant:

Sudo apt-get install libmysqlclient-dev

et alors:

gem install mysql

Il sera installé sans erreur.

159
cartoonist

Tout d’abord, vous devez faire la distinction entre MySQL en tant que serveur, MySQL en tant que client et les liaisons Ruby avec MySQL.

Je ne connais pas bien Mac, mais sous * nix, vous devez installer MySQL via votre gestionnaire de paquets. Pour que les liaisons Ruby soient installées avec 

gem install mysql

vous avez besoin des en-têtes de développement de Ruby (dans Ubuntu, c'est le paquet Ruby-dev) et des en-têtes de développement de MySQL-Client (actuellement libmysqlclient16-dev dans Ubuntu). Je ne sais pas s'ils portent un nom différent sur Mac, mais une fois l'installation terminée, les liaisons Ruby doivent s'installer sans erreur.

17
Aurril

Un certain nombre de personnes ont trouvé ce post utile.

En outre, je devais d'abord faire ceci:

yum install mysql-devel

et alors: 

gem install mysql 

Pour certaines personnes, vous devrez peut-être taper: 

gem install mysql -- --with-mysql-config=/usr/local/mysql/mysql_config
9
Guy Saban

sur OSX Mountain Lion: Si vous avez brew installé, alors brew install mysql et suivez la instructions pour créer une base de données de test avec mysql sur votre machine . __. Après cela, j'ai pu regrouper l'installation et le râteau.

5
downrightmike

Pour résoudre

Gem :: Ext :: BuildError: ERROR: Echec de la création de l'extension native gem erreur pour mysql2, 

Je pense que libmysql-Ruby a été changé avec Ruby-mysql

Essayez simplement avec les commandes suivantes,

Sudo apt-get install Ruby-mysql

& puis

Sudo apt-get install libmysqlclient-dev
3
rahul patil

J'avais aussi oublié de installer MySQL en premier lieu. Suivre ce guide a beaucoup aidé.

http://www.djangoapp.com/blog/2011/07/24/installation-of-mysql-server-on-mac-os-x-lion/

En plus d'ajouter ces lignes à mon .profile:

export PATH="/usr/local/mysql/bin:$PATH"
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
2
Richard Burton

J'ai eu une expérience similaire, alors voici les choses que j'ai essayées

Tout d'abord, j'ai essayé d'installer les paquets requis de mysql en lançant la commande ci-dessous dans mon terminal

Sudo apt-get install build-essential libmysqlclient-dev

Deuxièmement, j'ai essayé de mettre à jour rubygems sur mon système en exécutant la commande ci-dessous dans mon terminal.

Sudo gem update --system

Mais je vivais toujours le même problème. Après de nombreuses recherches, j'ai réalisé que j'utilisais une version presque obsolète de la gem mysql. J'avais simplement besoin d'utiliser le mysql2 gem ( mysql2 gem ) et non le mysql gem, je l'ai donc corrigé en exécutant la commande ci-dessous dans mon terminal

gem install mysql2

CA marchait bien pour moi. Avant d'exécuter la dernière commande, assurez-vous que vous avez exécuté les première et deuxième commandes pour vous assurer que tout va bien sur votre système.

C'est tout.

J'espère que cela aide

1
Promise Preston

Si vous utilisez le serveur Percona Mysql

$ yum installer Percona-Server-devel-55

$ gem installer mysql

0
AlexeyKa

si vous installez à partir des sources, voici un tutoriel. Je serais heureux s'il vous aide http://raihan90.blogspot.com/2009/03/mysql-step-by-step-hacking-into-mysql.html

0
Raihan Alam

Attention: Vous devez spécifier - key et que --with-mysql-config =/usr/local/mysql/bin/mysql_config

0
Vestel

Votre système d'exploitation Ubuntu doit installer la bibliothèque pour le client mysql Sudo apt-get install libmysqlclient-dev

Après cela, installez simplement bundle ou bundle install

0
Mayur Kambariya
yum -y install gcc mysql-devel Ruby-devel rubygems
gem install mysql2
0
Harikesh Kolekar

vous pouvez essayer de réinstaller la dernière version de xcode/dev. outils pour snow leopard - cela devrait corriger vos erreurs

0
roman