Question

J'ai quelques problèmes en essayant d'installer mysql2 joyau pour Rails.Quand 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 création de l'extension native Gem.

Comment puis-je résoudre ce problème et installer avec succès mysql2?

Était-ce utile?

La solution

Sur Ubuntu / Debian et d'autres distributions utilisant aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

Forfait libmysql-ruby a été éliminé et remplacé par ruby-mysql. Cette est là où je trouve la solution.

Si la commande ci-dessus ne fonctionne pas parce que libmysql-ruby ne peut être trouvé, ce qui suit devrait être suffisant:

sudo apt-get install libmysqlclient-dev

Red Hat / CentOS et d'autres distributions utilisant yum:

sudo yum install mysql-devel

Sous Mac OS X avec Homebrew :

brew install mysql

Autres conseils

Je suis sur un mac et utiliser homebrew pour installer des programmes open source. Je ne dois installer les outils Mac Dev pour installer homebrew, mais après que c'était simple:

brew install mysql

pour installer MySQL. Je ne l'ai pas eu un problème de gemme depuis MySQL.

ici est une solution pour les fenêtres utilisateurs , espérons qu'il aide!

Utilisation de MySQL avec Rails 3 sur Windows

  • Installer railsinstaller -> www.railsinstaller.org (je l'ai installé à c: \ Rails)

  • Installer MySQL (je MySQL 5.5) -> dev.mysql.com/downloads/installer /

  

--- pour Mysql ---   
Si vous ne possédez pas déjà ces deux fichiers installé, vous pourriez avoir besoin pour obtenir votre MySQL va
  vcredist_x86.exe -> http://www.microsoft.com/download/ fr / Details.aspx? id = 5555   dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/ fr / Details.aspx? id = 17718   
  Utiliser installation par défaut   Developer Machine

     

-MySQL Config serveur -   Port: 3306
  fenêtres nom du service: MySQL55
  MySQL passe root: root (vous pouvez changer plus tard)
  (Nom d'utilisateur: root)
   -MySQL Config serveur -

     

--- pour Mysql ---

  

--- Installer le mysql2 Gem ---
  Important: Faites-le avec Git Bash ligne de commande (cela a été installé avec railsinstaller) -> start / Git Bash
   gem install mysql2 - « --with-mysql-lib = "c: \ Program Files \ MySQL \ MySQL Server 5.5 \ lib" --with-mysql-include =" c: \ Program Files \ MySQL \ MySQL Server 5.5 \ include "   
  Maintenant, le bijou doit avoir installé correctement   
  Enfin copier le fichier libmysql.dll
  C: \ Program Files \ MySQL \ MySQL Server 5.5 \ lib
  à
  C: \ Rails \ Ruby1.9.2 \ bin
   --- Installer la gemme mysql2 ---


Vous allez maintenant être en mesure d'utiliser votre application Rails avec MySQL, si vous n'êtes pas sûr de savoir comment créer un Rails 3 application avec MySQL lire ...


--- Obtenez une application Rails 3 aller avec MySQL ---
invite de commande d'ouverture (non Git Bash) -> start / cmd
Accédez à votre dossier (c: \ Sites)
Créer de nouveaux rails app

rails new world

Supprimer le fichier c: \ Sites \ world \ public \ index.html
Modifiez le fichier c: \ Sites \ world \ config \ routes.rb
ajoutez cette ligne -> root: à => '# villes index'

invite de commande Open (générer des vues et contrôleurs)

rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer


Modifiez le fichier c: \ Sites \ monde modèles \ app \ \ city.rb pour ressembler à ceci

class City < ActiveRecord::Base
 set_table_name "city"
end

Editer le fichier c: \ Sites \ world \ config \ database.yml pour ressembler à ceci

development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock

ajouter à Gemfile

gem 'mysql2'

Ouvrir Invite de commandes windows cmd, pas Git Bash (lancez votre application!)
Accédez à votre dossier app (c: \ Sites \ monde)

rails s

Ouvrez ici votre navigateur -> http: // localhost: 3000

--- Obtenez une application Rails 3 aller avec MySQL ---

I ai plusieurs ordinateurs, le processeur 32 et 64 bits, ils courent sur la libération Linux Ubuntu, Maverick (10,10).

J'ai eu le même problème, et pour moi, la sudo apt-get install libmysql-ruby libmysqlclient-dev a fait le travail !!!

Une autre façon pour les utilisateurs MacOS

Si vous avez utilisé "brasser" pour installer MySQL:

gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config

x.x.x = version de la gemme mysql2 que vous souhaitez installer
y.y.y = la version de MySQL que vous avez installé ls /usr/local/Cellar/mysql pour le trouver.

Avez-vous essayé d'utiliser

 gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib 

pour spécifier l'emplacement du répertoire TheBase ainsi que le chemin vers les bibliothèques MySQL qui sont nécessaires pour terminer l'installation de pierres précieuses?

Sources: MySQL Gem erreur d'installation: Impossible de créer l'extension native joyau MySQL Forums :: Ruby :: Besoin d'aide à l'installation de liaison MySQL pour Ruby

Si vous utilisez yum essayer:

sudo yum install mysql-devel

résolu mon problème une fois dans Windows:

subst X: "C:\Program files\MySQL\MySQL Server 5.5" 
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt 
subst X: /D

Si vous rencontrez toujours des problèmes ....

Essayez d'installer

   sudo apt-get install ruby1.9.1-dev

J'ai eu ce problème sur Windows 7. Ceci est apparemment un problème d'incompatibilité et la solution est la suivante:

Télécharger le fichier libmySQL.dll d'un ancien InstantRails installateur. Il est disponible à partir du InstantRails repo GitHub .

Ensuite, copiez ce fichier dans votre dossier Ruby / bin.

Maintenant, vous êtes bon pour aller;)

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

Je suis cette erreur aussi. Résolu en installant des paquets de développement. J'utilise arc et il était:

sudo pacman -S base-devel

qui a installé:

m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config

mais je pense qu'il faut vraiment faire et gcc. Sortie d'erreur dit (sur ma machine, entre autres):

"Vous devez installer les outils de développement d'abord".

Il était donc une décision évidente et il a aidé.

Vous devez installer des dépendances

sudo apt-get install libmysql-ruby libmysqlclient-dev

Sur Debian Tendez le package qui a fonctionné pour moi était default-libmysqlclient-dev

sudo apt-get update && apt-get install -y default-libmysqlclient-dev

Je courais dans cette erreur sur mon mac et a trouvé que je devais passer de MySQL mysql 32bit 64 bits pour obtenir cette erreur pour aller. Je courais OSX 10.6 sur un macbook pro intel avec Ruby 1.9.2 et rails3.0.0

J'ai aussi besoin d'installer Xcode afin d'obtenir les services publics unix « faire » qui sont nécessaires pour établir le bijou.

Une fois que cela a été fait, je suis en mesure d'exécuter gem install mysql et gem install mysql2 sans erreur.

Dans mon cas, cela a contribué à:

$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"

Alors:

gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib

Résultat:

Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed

Voir cette post (ATTENTION: langue japonaise à l'intérieur).

Pour l'utilisateur Windows: Vous définissez le répertoire lib et include_path de votre mysql, par exemple, si vous êtes en utilisant xampp vous pouvez avoir comme ceci:

gem install mysql2 -- '--with-mysql-lib="C:\xampp\mysql\lib" --withmysql-include="C:\xampp\mysql\include"'

Solution fonctionne uniquement sous Mac OS X

Si vous avez installé MySQL avec homebrew, ce qui a fonctionné pour moi a été le désinstalle MySQL, et l'installation de MySQL Community Edition via le site MySQL ( https://www.mysql.com/ ).

Après installé, il suffit à nouveau entrer la commande gem install mysql2 ou le cas échéant, sudo gem install mysql2, si vous obtenez l'autorisation refusée problèmes.

Je suis le petit bijou construit sur Mac OS X 10.6.6 par 1) Assurer l'ensemble des outils de développement est installé 2) Télécharger le package MySQL en cours (5.5.8 dans mon cas) de la source 3) Installation de l'outil de cmake de cmake.org 4) En suivant les instructions de la section 2.11 INSTALLATION-SOURCE à partir des fichiers de distribution de MySQL 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include Le petit bijou construit avec succès, mais il y a deux erreurs qui rdoc et ri se plaignent de la documentation sur. Mais maintenant, quand je tente d'exiger «mysql2 Je reçois un

LoadError: no such file to load -- mysql2/mysql2

J'espérais l'erreur que je recevrais était que le libmysqlclient.16.dylib n'a pu être trouvée parce que nous avons pensé que dans un autre poste (recherche install_name_tool).

Mon $ PATH a / usr / local / mysql dans ce (c'est là ma source et les fichiers sont situés construit), donc je suis un peu perplexe. Si quelqu'un a des pensées, je vais vérifier au bout de quelques heures de sommeil.

Si l'erreur en obtenant puis suivez les étapes de l'installation mysql2 gem on 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 gem mysql2.

Une fois que vous obtenez les problèmes de mysql-dev corrigées, vous devrez peut-être supprimer la mauvaise mysql2 installer. Regardez attentivement les messages après fibré $ installer. Vous devrez peut-être

rm -rf vendor/cache/
rm -rf ./Zentest

Cela effacera la mauvaise installation de mysql2 de sorte qu'un faisceau de $ installation final peut créer un bon.

téléchargez la bonne version de mysqllib.dll puis copiez-la dans Ruby Bin qui fonctionne vraiment pour moi.Suivez ce lien plas Gemme mysql2 compilée pour une mauvaise bibliothèque client mysql

Vous avez la « Vous devez installer les outils de développement en premier. » erreur lorsque vous essayez d'installer la gemme mysql2 après mise à niveau vers Mac OS X Mountain Lion . Apparemment faire cette mise à jour supprime les compilateurs de ligne de commande.

Pour résoudre:

  • Je désinstallé ma version très ancienne de Xcode (couru le script de désinstallation dans / Developer / Library). Ensuite supprimé le répertoire / développeur.
  • Je suis allé à l'AppStore et téléchargé Xcode.
  • Lancé Xcode et est entré dans les Préférences -> Téléchargements et installé les outils de ligne de commande
  • .

Vous obtenez ce problème parce que vous ne l'avez pas installer MySql. Avant d'installer bijou mysql2. Installer MySQL. Après ce joyau de mysql2 installera.

Je voulais juste ajouter cette réponse spécifiquement pour Utilisateurs Mac .

Mon serveur fonctionnait parfaitement bien jusqu'à ce que je mis à jour mon Xcode. Le tout en commençant mon serveur rails l'erreur a été montré comme ceci

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
    checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-  
    p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an    
    executable file. (RuntimeError)

Et il y avait suggéré d'installer gem mysql2 à la fin du message d'erreur. Alors, quand je l'ai essayé de l'installer, je suis l'erreur comme mentionné ci-dessus dans cette question. L'erreur que je suis arrivé est la suivante

ERROR:  Error installing mysql2:
ERROR: Failed to build gem native extension.

Donc, comme suggéré dans ce post, j'ai essayé Brew installer MySQL et que quittai en disant que la version de MySQL untel déjà installé. Mais il y avait d'avertissement avant de dire

Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license

Alors j'ai essayé ce sudo xcodebuild -license et le type « d'accord » à la fin. Vous devez être root pour accepter la licence.

Après cela, je bundle essayé à nouveau installer et tout fonctionne bien comme d'habitude. [Même en raison de cette updation Xcode, j'ai eu problème avec ma tour aussi.]

libmysql-ruby a été éliminé et remplacé. Nouvelle commande:

 sudo apt-get install ruby-mysql libmysqlclient-dev

Pour ceux qui utilisent Windows 7 et 64 bits MySQL

Si vous voulez utiliser MySQL 64 bits, vous devez suivre les instructions ici (aussi ).

Désolé pour cela devrait être un commentaire sur de réponse spacemonkey mais mes n'ont pas assez la réputation de le faire.

Je veux ajouter que si vous utilisez MariaDB au lieu de MySQL sur CentOS 7 vous avez juste besoin d'installer le paquet partagé MariaDB à corriger l'erreur.

yum install MariaDB-shared -y
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top