Imansible installare MySQL2 gem su Windows 7

Durante l’installazione visualizzo il seguente messaggio di errore, fammi sapere se è necessario pubblicare ulteriori dettagli.

Ho seguito le istruzioni dal seguente percorso: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

Sto usando Ruby 1.9.2p136 (2010-12-25) [i386-mingw32].

Ecco cosa ottengo:

E:\work_desk\trunk>gem install mysql2 -v 0.2.4 Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. C:/Ruby192/bin/ruby.exe extconf.rb checking for rb_thread_blocking_region()... yes checking for main() in -llibmysql... no *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --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=C:/Ruby192/bin/ruby --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-libmysqllib --without-libmysqllib Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0. 2.4 for inspection. Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.4/ext/mysql2/ge m_make.out 

La versione specifica di mysql2 gem che stai cercando di installare (0.2.4) non solo non contiene binari per Windows, ma ha problemi su Windows.

Si prega di installare mysql2 gem senza indicare la versione:

 gem install mysql2 

Che installerà l’ultima versione (0.2.6 al momento del mio posting) e fornirà anche i binari per Windows che salteranno il passo della compilazione.

Se vuoi ancora forzare la compilazione (perché la tua versione di MySQL differisce da quella usata per generare il gioiello binario, dovrai installare DevKit di RubyInstaller dal sito web di RubyInstaller:

http://rubyinstaller.org/downloads

E segui le istruzioni di installazione di DevKit dalla nostra wiki (che è collegata dalla pagina di download)

Sarà necessario fornire il percorso di entrambe le intestazioni e librerie durante il processo di installazione gem e regolare la posizione di installazione di MySQL dalle seguenti istruzioni:

 subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.1" gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt subst X: /D 

Il comando precedente usa subst per evitare problemi con il percorso con spazi, che dovresti sempre evitare.

Spero che questo ti aiuti.

Dopo aver cercato un modo per farlo funzionare, ho finalmente ottenuto installato con il seguente al prompt dei comandi:

 gem install mysql2 -v 0.2.6 

Con i seguenti risultati:

 Fetching: mysql2-0.2.6-x86-mingw32.gem (100%) Successfully installed mysql2-0.2.6-x86-minw32 1 gem installed Installing ri documentation for mysql2-0.2.6-x86-mingw32... Enclosing class/module 'mMysql2' for class Client not known Installing RDoc documentation for mysql2-0.2.6-x86-mingw32... Enclosing class/module 'mMysql2' for class Client not known 

Provalo. Dovrebbe funzionare.

Se ancora non riesci a installare mysql2 gem su windows7 o non è molto chiaro sui passaggi da seguire, quindi segui questo post che ti aiuterà nell’installazione passo-passo – http://rorguide.blogspot.com/2011/ 03 / installazione-mysql2-gioiello-on-ruby-192-and.html

E per l’errore mysql_api.so ( C:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql-2.8.1-x86-mingw32/lib/1.9/mysql_api.so ), copia il file “libmySQL.dll” da C:\Program Files\MySQL\MySQL Server 5.1\bin a C:\Ruby192\bin

Il percorso di installazione può variare, per i dettagli fare riferimento a questo post: http://rorguide.blogspot.com/2011/03/getting-error-specified-module-could.html .

Spero, questo ti aiuterà a risolvere i tuoi problemi.

Inizia con RailsInstaller.

Questo presuppone che tu stia eseguendo il server mysql localmente (sviluppo locale) e che il tuo Ruby sia compilato a 32 bit. (Controllare ruby -v . X64 || i386.)

Scarica mysql-community-web-installer. In alto a destra seleziona 32 bit . Hai praticamente bisogno del server. Anche il banco di lavoro è utile.

Il comando gem richiede un percorso senza spazi, quindi usa subst:

 subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.6" gem install mysql2 -v=0.3.13 --platform=ruby -- --with-mysql-dir=X: 

Avrai bisogno di libmysql.dll nel PERCORSO – la cosa più semplice è semplicemente copiarlo nella directory bin di Ruby:

 copy "C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\libmysql.dll" "C:\RailsInstaller\Ruby2.0.0\bin" 

GLI APPUNTI

Non farlo da PowerShell! (DevKit ha problemi a cambiare le informazioni sul percorso in PowerShell).

Assicurati che tutte le librerie siano a 32 bit, dato che il ruby di RailsInstaller, ecc., Sono tutti compilati a 32 bit e devono collegarsi a librerie a 32 bit.

Se non si desidera un server in locale, installare semplicemente il connettore C e seguire queste istruzioni con tale directory e libmysql.dll. Non mescolare e abbinare: assicurati che la .dll corrisponda alla versione con cui hai compilato la gem.

Da questa:

 checking for main() in -llibmysql... no 

sembra che tu non abbia installato i driver e le app MySQL. Se sì, potevano installare nelle loro posizioni predefinite? Come minimo si vorrà il software client se il server è in esecuzione su un altro computer.

  1. installa il connettore mysql a 32 bit / c prendilo qui
  2. copia libmysql.dll dalla directory in cui si installa il connettore / c nella directory% ruby ​​installata% / bin /

quindi reinstallare nuovamente la gem.

Ho provato la soluzione di @Mrk Fldig ma non ha funzionato … Quindi, quello che ha risolto il problema è stato:

  1. Scaricato l’ultimo MySQL Installer per Windows 7 32 bit
  2. Installato il gem con il seguente comando: gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

Una trappola a cui prestare attenzione è che ho cambiato le barre retroverse (\) in barre normali (/). Ho provato la stessa procedura con i backslash e non ha funzionato.

Il programma di installazione include già i connettori C per MySQL nella directory MySQL Connector C 6.1 6.1.2 . Pertanto, passando solo il parametro --with-mysql-dir senza i parametri --with-mysql-lib o --with-mysql-include , rende la gem per guardare la stessa directory per lib e include directory