Question Erreur lors de l'installation de mysql2: Echec de la construction de l'extension native gem


J'ai des problèmes en essayant d'installer mysql2 gem pour Rails. Quand j'essaye de l'installer en courant bundle install ou gem install mysql2 il me donne l'erreur suivante:

Erreur lors de l'installation de mysql2: ERREUR: Échec de création de l'extension native gem.

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


443
2017-08-31 10:54


origine


Réponses:


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

sudo apt-get install libmysql-ruby libmysqlclient-dev

Paquet libmysql-ruby a été éliminé et remplacé par ruby-mysql. Ce est l'endroit où j'ai trouvé la solution.

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

sudo apt-get install libmysqlclient-dev

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

sudo yum install mysql-devel

Sur Mac OS X avec Homebrew:

brew install mysql

880
2017-08-31 12:00



Je suis sur un mac et utilise homebrew installer des programmes open source. J'ai dû installer des outils de développement Mac pour installer homebrew, mais après cela, c'était simple:

brew install mysql

installer mysql. Je n'ai pas eu de problème de mysql depuis.


56
2018-05-25 22:48



voici une solution pour le utilisateurs de windows, J'espère que cela aide!

Utiliser MySQL avec Rails 3 sous Windows

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

  • Installer MySQL (J'ai utilisé MySQL 5.5) -> dev.mysql.com/downloads/installer/

--- pour l'installation de mySQL ---

 Si vous ne l'avez pas déjà ces deux fichiers installé, vous pourriez en avoir besoin pour obtenir votre MySQL

  vcredist_x86.exe -> http://www.microsoft.com/download/en/details.aspx?id=5555   dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

  Utiliser l'installation par défaut   Machine de développement

-MySQL Server Config-
  port: 3306
  nom du service Windows: MySQL55
  mysql root pass: root (vous pouvez le changer plus tard)
  (nom d'utilisateur: root)
-MySQL Server Config-

--- pour l'installation de mySQL ---


--- Installez le mysql2 Gem ---

  Important: Faites-le avec la ligne de commande Git Bash(ceci a été installé avec railsinstaller) -> start / Git Bash

gem installez mysql2 - '--with-mysql-lib = "c: \ Program Files \ MySQL \ MySQL Server 5.5 \ lib" --with-mysql-include = "c: \ Program Files \ MySQL \ MySQL Server 5.5 \ comprendre"'

  Maintenant, la gemme devrait avoir installé correctement   

  Enfin, copiez le fichier libmysql.dll à partir de
  C: \ Program Files \ MySQL \ Serveur MySQL 5.5 \ lib
  à
  C: \ Rails \ Ruby1.9.2 \ bin

--- Installez le mysql2 Gem ---


Vous allez maintenant pouvoir utiliser votre application Rails avec MySQL, si vous n'êtes pas sûr de savoir comment créer une application Rails 3 avec MySQL ...


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

Ouvrez l'invite de commande (pas Git Bash) -> start / cmd
Accédez à votre dossier (c: \ Sites)
Créer une nouvelle application de rails

rails new world

Supprimez le fichier c: \ Sites \ world \ public \ index.html
Editez le fichier c: \ Sites \ world \ config \ routes.rb
ajoutez cette ligne -> root: to => 'cities # index'

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

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



Modifiez le fichier c: \ Sites \ world \ app \ models \ city.rb pour qu'il ressemble à ceci

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

Editez 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 commande Windows cmd, pas Git Bash (exécutez votre application!)
Accédez au dossier de votre application (c: \ Sites \ world)

rails s

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

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


34
2018-02-16 19:44



J'ai plusieurs ordinateurs, processeur 32 et 64 bits, ils fonctionnent sur Ubuntu Linux, Maverick (10.10).

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


20
2018-01-23 07:44



Avez-vous essayé d'utiliser

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

spécifier l'emplacement du répertoire de base ainsi que le chemin d'accès aux bibliothèques MySQL nécessaires pour terminer l'installation de la gemme?

Sources: MySQL Gem Installer ERROR: Échec de création de l'extension native gem MySQL Forums :: Ruby :: Aide nécessaire à l'installation de la liaison MySQL pour Ruby


7
2017-08-31 11:23



Si vous utilisez yum, essayez:

sudo yum install mysql-devel

7
2017-10-20 19:57



Une autre façon pour les utilisateurs MacOS

Si vous avez utilisé "brew" 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 du gem mysql2 que vous voulez installer
y.y.y = la version de mysql que vous avez installée ls /usr/local/Cellar/mysql pour le trouver.


6
2017-09-30 15:15



Si vous avez encore des problèmes ...

Essayez d'installer

   sudo apt-get install ruby1.9.1-dev

5
2017-08-05 11:32



J'ai eu ce problème avec mes fenêtres 7. C'est apparemment un problème d'incompatibilité et la solution est la suivante: Téléchargez le fichier mysql.dll depuis un ancien programme d'installation d'InstantRails. Le lien http://tinyurl.com/24ocp8u téléchargera seulement le fichier mysql.dll (c'est le lien vers le dépôt svn d'InstantRails). Ensuite, copiez ce fichier dans votre dossier Ruby / bin. Maintenant, vous êtes prêt à partir.)


4
2018-02-20 09:03



Cela a 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

4
2017-08-09 01:40



J'ai aussi cette erreur. Résolu en installant des paquets de développement. J'utilise arch et c'é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 fallait vraiment faire 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é.


3
2017-10-16 12:40