J'ai des problèmes lors de l'installation de mysql2
gem pour Rails. Lorsque j'essaie de l'installer en exécutant bundle install
ou gem install mysql2
cela me donne l'erreur suivante:
Erreur lors de l'installation de mysql2: ERREUR: échec de la construction de l'extension native gem.
Comment puis-je résoudre ce problème et réussir l'installation mysql2
?
Réponses:
Sur Ubuntu / Debian et autres distributions utilisant aptitude:
Le package
libmysql-ruby
a été supprimé et remplacé parruby-mysql
. C'est là que j'ai trouvé la solution.Si la commande ci-dessus ne fonctionne pas car elle
libmysql-ruby
est introuvable, les éléments suivants devraient être suffisants:Sur Red Hat / CentOS et autres distributions utilisant yum:
Sur Mac OS X avec Homebrew :
la source
libmysqlclient-dev
était suffisante.Je suis sur un mac et j'utilise homebrew pour installer des programmes open source. J'ai dû installer des outils Mac Dev pour installer homebrew, mais après cela, c'était simple:
pour installer mysql. Je n'ai pas eu de problème de gemme mysql depuis.
la source
brew link mysql --force
.voici une solution pour les utilisateurs de windows , j'espère que ça aide!
Utiliser MySQL avec Rails 3 sous Windows
Installer railsinstaller -> www.railsinstaller.org (je l'ai installé sur c: \ Rails)
Installez MySQL (j'ai utilisé MySQL 5.5) -> dev.mysql.com/downloads/installer/
Vous pourrez désormais utiliser votre application Rails avec MySQL, si vous ne savez pas comment créer une application Rails 3 avec MySQL, lisez la suite ...
--- Obtenez une application Rails 3 avec MySQL ---
Ouvrez l'invite de commande (pas Git Bash) -> start / cmd
Accédez à votre dossier (c: \ Sites)
Créez une nouvelle application rails
Supprimez le fichier c: \ Sites \ world \ public \ index.html
Modifiez le fichier c: \ Sites \ world \ config \ routes.rb
ajoutez cette ligne -> root: to => 'cities # index'
Ouvrir l'invite de commande (générer des vues et des contrôleurs)
Modifiez le fichier c: \ Sites \ world \ app \ models \ city.rb pour qu'il ressemble à ceci
Modifiez le fichier c: \ Sites \ world \ config \ database.yml pour qu'il ressemble à ceci
ajouter au gemfile
Ouvrez l' invite de commande windows cmd, pas Git Bash (exécutez votre application!)
Accédez à votre dossier d'application (c: \ Sites \ world)
Ouvrez votre navigateur ici -> http: // localhost: 3000
--- Obtenez une application Rails 3 avec MySQL ---
la source
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
sans les guillemets, mes `` ont été supprimés. MerciJ'ai plusieurs ordinateurs, un processeur 32 et 64 bits, ils fonctionnent sur Ubuntu Linux, version Maverick (10.10).
J'ai eu le même problème, et pour moi, ça a
sudo apt-get install libmysql-ruby libmysqlclient-dev
fait le boulot !!!la source
Pour MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
la source
Une autre façon pour les utilisateurs de MacOS
Si vous avez utilisé "brew" pour installer mysql:
xxx = version de la gemme mysql2 que vous souhaitez installer
yyy = la version de mysql que vous avez installée
ls /usr/local/Cellar/mysql
pour la trouver.la source
Avez-vous essayé d'utiliser
spécifier l'emplacement du répertoire de base ainsi que le chemin d'accès aux bibliothèques MySQL qui sont nécessaires pour terminer l'installation de la gemme?
Sources: MySQL Gem Install ERREUR: échec de la construction de l'extension native de gem Forums MySQL :: Ruby :: Aide nécessaire à l'installation de la liaison MySQL pour Ruby
la source
which mysql
puis en trouvant lelib
répertoire à partir de là.Si vous utilisez yum, essayez:
la source
Cela a résolu mon problème une fois dans Windows:
la source
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Si vous rencontrez toujours des problèmes….
Essayez d'installer
la source
J'ai eu ce problème sur Windows 7. Il s'agit apparemment d'un problème d'incompatibilité et la solution est la suivante:
Téléchargez le
libmySQL.dll
fichier à partir d'un ancien programme d'installation InstantRails. Il est disponible à partir du référentiel InstantRails GitHub .Ensuite, copiez ce fichier dans votre dossier Ruby / bin.
Maintenant, vous êtes prêt à partir;)
la source
bundle install
.J'ai aussi cette erreur. Résolu en installant des packages de développement. J'utilise arch et c'était:
qui a installé:
mais je pense qu'il fallait en fait make et gcc. Sortie d'erreur dit (sur ma machine, entre autres):
"Vous devez d'abord installer les outils de développement."
C'était donc une décision évidente et cela a aidé.
la source
Vous devez installer certaines dépendances
la source
Sur Debian Stretch, le paquet qui fonctionnait pour moi était default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
la source
Dans mon cas, cela a aidé:
Alors:
Résultat:
Voir cet article (ATTENTION: langue japonaise à l'intérieur).
la source
Sur Ubuntu (18.04)
j'ai pu résoudre ce problème en exécutant ce qui suit:
référence
la source
Je rencontrais cette erreur sur mon Mac et j'ai constaté que je devais passer de mysql 32bit à mysql 64 bit pour que cette erreur disparaisse. J'utilisais OSX 10.6 sur un MacBook Pro Intel avec Ruby 1.9.2 et Rails3.0.0
J'ai également dû installer xcode afin d'obtenir des utilitaires Unix comme "make" qui sont nécessaires pour compiler la gemme.
une fois cela fait, j'ai pu exécuter gem install mysql et gem install mysql2 sans erreur.
la source
Pour les utilisateurs de Windows: Vous définissez la lib et incluez le chemin de votre mysql, par exemple, si vous utilisez xampp, vous pouvez avoir comme ceci:
la source
La solution ne fonctionne que sur Mac OS X
Si vous avez installé MySQL avec homebrew, ce qui a fonctionné pour moi a été la désinstallation de MySQL et l'installation de MySQL Community Edition via le site Web MySQL ( https://www.mysql.com/ ).
Après l'installation, il vous suffit de ressaisir la commande
gem install mysql2
ou, si nécessairesudo gem install mysql2
, si vous rencontrez des problèmes d'autorisation refusée.la source
J'ai obtenu la gemme construite sur Mac OS X 10.6.6 par 1) S'assurer que le package d'outils Developer est installé 2) Télécharger le package MySQL actuel (5.5.8 dans mon cas) à partir de la source 3) Installer l'outil cmake à partir de cmake.org 4 ) En suivant les instructions de la section 2.11 de INSTALL-SOURCE à partir des fichiers de distribution mysql 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
La gemme a été construite avec succès, mais il y a deux erreurs dans la documentation dont rdoc et ri se plaignent. Mais maintenant, quand j'essaie d'exiger «mysql2», j'obtiens unJ'espérais que l'erreur que j'obtiendrais était que le fichier libmysqlclient.16.dylib était introuvable parce que nous l'avions compris dans un autre article (recherchez install_name_tool).
Mon $ PATH contient / usr / local / mysql (c'est là que se trouvent ma source et les fichiers créés), donc je suis un peu perplexe. Si quelqu'un a des pensées, je reviendrai après quelques heures de sommeil.
la source
Si l'erreur persiste, suivez les étapes d'installation de mysql2 gem sur Rails 3 sur -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
où la plupart des utilisateurs ont pu installer mysql2 gem.
la source
Après avoir corrigé les problèmes de mysql-dev, vous devrez peut-être supprimer la mauvaise installation de mysql2. Lisez attentivement les messages après l'installation de $ bundle. Vous devrez peut-être
Cela effacera la mauvaise installation de mysql2 afin qu'une installation finale du bundle $ puisse en créer une bonne.
la source
télécharger la bonne version de mysqllib.dll puis la copier dans ruby bin fonctionne vraiment pour moi. Suivez ce lien contient la gemme mysql2 compilée pour la mauvaise bibliothèque client mysql
la source
Vous avez le "Vous devez d'abord installer les outils de développement." erreur lors de la tentative d'installation de la gemme mysql2 après la mise à niveau vers Mac OS X Mountain Lion . Apparemment, cette mise à niveau supprime les compilateurs de ligne de commande.
Pour corriger:
la source
Vous rencontrez ce problème car vous n'avez pas installé MySql. Avant d'installer mysql2 gem. Installez MySQL. Après cela, mysql2 gem s'installera.
la source
Je voulais juste ajouter cette réponse spécifiquement pour les utilisateurs Mac .
Mon serveur fonctionnait parfaitement bien jusqu'à ce que je mette à jour mon xcode. Au démarrage de mon serveur de rails, l'erreur s'est affichée comme ceci
Et il a été suggéré d'installer mysql2 gem à la fin du message d'erreur. Donc, quand j'ai essayé de l'installer, j'ai eu l'erreur comme mentionné ci-dessus dans cette question. L'erreur que j'ai eu est la suivante
Donc, comme suggéré dans cet article, j'ai essayé 'brew install mysql' et cela a cessé de dire que la version mysql était déjà installée. Mais il y avait un avertissement avant de dire
Alors j'ai essayé ça
sudo xcodebuild -license
et tapez «d'accord» à la fin. Vous devez être root pour accepter la licence.Après cela, j'ai de nouveau essayé l'installation du bundle et tout fonctionne bien comme d'habitude. [Même en raison de cette mise à jour de xcode, j'ai également eu un problème avec ma tour.]
la source
libmysql-ruby
a été supprimé et remplacé. Nouvelle commande:la source