Wie installiere ich den MySQL Ruby Gem auf Ubuntu 9.10?

16647
Andrew

Ich habe Probleme beim Installieren des Ruby Gem für MySQL. Dies ist der Befehl, den ich ausführen möchte:

sudo gem install mysql 

und das ist die Ausgabe, die ich bekomme:

Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension.  /usr/bin/ruby1.8 extconf.rb checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lz... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lsocket... no checking for mysql_query() in -lmysqlclient... no checking for main() in -lnsl... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lmygcc... no checking for mysql_query() in -lmysqlclient... 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=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.8 --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=$/include --with-mysql-lib --without-mysql-lib=$/lib --with-mysqlclientlib --without-mysqlclientlib --with-mlib --without-mlib --with-mysqlclientlib --without-mysqlclientlib --with-zlib --without-zlib --with-mysqlclientlib --without-mysqlclientlib --with-socketlib --without-socketlib --with-mysqlclientlib --without-mysqlclientlib --with-nsllib --without-nsllib --with-mysqlclientlib --without-mysqlclientlib --with-mygcclib --without-mygcclib --with-mysqlclientlib --without-mysqlclientlib   Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 

Was muss ich tun, damit dies installiert werden kann?

9

3 Antworten auf die Frage

27
Andrew

Dank dieses Threads habe ich herausgefunden, dass der Grund für die Installation nicht liegt

... ein Pfad, der beim Kompilieren des Pakets in die falsche Richtung zeigt.

Zum Glück ist die Lösung sehr einfach:

sudo gem uninstall mysql sudo apt-get install libmysqlclient-dev -y sudo gem install mysql  

Hinweis: Ich habe eine Fehlermeldung erhalten, dass versucht wurde, mysql zu deinstallieren. Dies ist jedoch in Ordnung, da es anfangs nicht installiert wurde. Während der Installation des mysql gem bekam ich Meldungen, die wie Fehler aussahen:, No definition for next_resultaber das sind keine Fehler. Dies geschieht bei der Installation der Dokumentation. Sie sind nur Nachrichten, die besagen, dass für bestimmte Funktionen keine Dokumentation verfügbar ist.

4
whitequark

Sie benötigen diesen Edelstein nicht wirklich, um MySQL in Ruby zu verwenden. Es gibt ein Paket in Debian / Ubuntu, das bereits denselben Code kompiliert und vorbereitet hat. Einfach tippen sudo apt-get install libmysql-ruby.

4
stcorbett

Auf Ubuntu Hardy, 8.04, habe ich die apt-get-Installation zur Arbeit mit:

sudo apt-get install libmysqlclient15-dev -y