rails gem mysql2




Errore durante l'installazione di mysql2: impossibile creare l'estensione nativa gem (17)

Sto riscontrando qualche problema durante il tentativo di installare mysql2 gem per Rails. Quando provo a installarlo eseguendo bundle install o gem install mysql2 mi dà il seguente errore:

Errore durante l'installazione di mysql2: ERRORE: impossibile creare l'estensione nativa gem.

Come posso risolvere questo problema e installare con successo mysql2 ?


Devi installare alcune dipendenze

sudo apt-get install libmysql-ruby libmysqlclient-dev

Dopo aver corretto i problemi di mysql-dev, potrebbe essere necessario rimuovere l'installazione di mysql2 non valida. Osserva attentamente i messaggi dopo l'installazione di $ bundle. Potrebbe essere necessario

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

Questo cancellerà l'installazione di mysql2 in modo tale che un'installazione finale di $ bundle possa crearne una buona.



Ho avuto questo problema con il mio Windows 7. Questo è apparentemente un problema di incompatibilità e la soluzione è la seguente: Scarica il file mysql.dll da un vecchio programma di installazione di InstantRails. Il link http://tinyurl.com/24ocp8u scaricherà solo il file mysql.dll (è il link al repository svn di InstantRails). Quindi, copia quel file nella tua cartella Ruby / bin. Ora, sei a posto;)


Ho ottenuto la gemma costruita su Mac OS X 10.6.6 di 1) Garantire che il pacchetto di strumenti per gli sviluppatori sia installato 2) Scaricare l'attuale pacchetto MySQL (5.5.8 nel mio caso) da Source 3) Installare lo strumento cmake da cmake.org 4 ) Seguendo le istruzioni nella sezione 2.11 di INSTALL-SOURCE dai file di distribuzione mysql 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include La gem costruita con successo, ma ci sono due errori nella documentazione che rdoc e ri si lamentano. Ma ora, quando provo a richiedere "mysql2", ottengo a

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

Speravo che l'errore che avrei ottenuto fosse impossibile trovare il libmysqlclient.16.dylib perché lo abbiamo trovato in un altro post (cercare install_name_tool).

Il mio $ PATH ha / usr / local / mysql in esso (è lì che si trovano la mia fonte e i file creati), quindi sono un po 'perplesso. Se qualcuno ha qualche pensiero, controllerò dopo alcune ore di sonno.


Ho ricevuto anche questo errore. Risolto installando pacchetti di sviluppo. Sto usando Arch ed è stato:

sudo pacman -S base-devel

che ha installato:

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

ma penso che in realtà occorresse make e gcc. Uscita di errore ha detto (sulla mia macchina, tra l'altro):

"Devi prima installare gli strumenti di sviluppo."

Quindi è stata una decisione ovvia e ha aiutato.


Questo ha risolto il mio problema una volta in 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


Sono su un mac e uso Homebrew per installare programmi open source. Ho dovuto installare mac Dev tools per installare homebrew, ma dopo è stato semplice:

brew install mysql

installare mysql. Da allora non ho mai avuto un problema con la gemma mysql.


Stai riscontrando questo problema perché non hai installato MySql. Prima di installare mysql2 gem. Installa MySQL. Dopo che mysql2 gem verrà installato.


Su Debian Stretch il pacchetto che ha funzionato per me era predefinito-libmysqlclient-dev

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


Su Ubuntu / Debian e altre distribuzioni usando aptitude:

sudo apt-get install libmysql-ruby libmysqlclient-dev

Il pacchetto libmysql-ruby è stato eliminato e sostituito da ruby-mysql . This è dove ho trovato la soluzione.

Se il comando precedente non funziona perché non è possibile trovare libmysql-ruby , quanto segue dovrebbe essere sufficiente:

sudo apt-get install libmysqlclient-dev

Su Red Hat / CentOS e altre distribuzioni usando yum:

sudo yum install mysql-devel

Su Mac OS X con Homebrew :

brew install mysql


libmysql-ruby è stato eliminato e sostituito. Nuovo comando:

 sudo apt-get install ruby-mysql libmysqlclient-dev

La soluzione funziona solo su Mac OS X

Se hai installato MySQL con homebrew, ciò che ha funzionato per me è stato disinstallare MySQL e installare MySQL Community Edition tramite il sito Web MySQL ( https://www.mysql.com/ ).

Dopo l'installazione, è sufficiente immettere nuovamente il comando per gem install mysql2 o, se necessario, sudo gem install mysql2 , se si ottengono problemi di autorizzazione negati.



Un altro modo per gli utenti MacOS

Se hai usato "brew" per installare mysql:

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

xxx = versione della gemma mysql2 che si desidera installare
yyy = la versione di mysql hai installato ls /usr/local/Cellar/mysql per trovarlo.





mysql2