¿Cómo instalar MySQL Ruby Gem en Ubuntu 9.10?

10

Tengo un problema al instalar Ruby Gem para MySQL. Este es el comando que estoy ejecutando:

sudo gem install mysql

y este es el resultado que estoy obteniendo:

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=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/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=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/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

¿Qué necesito hacer para que esto se instale?

Andrés
fuente

Respuestas:

27

Gracias a este hilo descubrí que la razón por la que no se instala es por

... una ruta que señala el camino equivocado cuando se compiló el paquete.

Afortunadamente, la solución es muy simple:

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

Nota: Recibí un mensaje de error al intentar desinstalar mysql, pero está bien porque no estaba instalado en primer lugar. Al instalar la gema mysql, recibí mensajes que parecían errores: No definition for next_resultpero esos no son errores. Esto sucede al instalar la documentación. Son solo mensajes que dicen que no hay documentación disponible para ciertas funciones.

Andrés
fuente
4

Realmente no necesitas esa gema para usar MySQL en Ruby. Hay un paquete en Debian / Ubuntu que ya tiene el mismo código ya compilado y preparado. Solo escribe sudo apt-get install libmysql-ruby.

Whitequark
fuente
4

En Ubuntu Hardy, 8.04 obtuve la instalación de apt-get para trabajar con:

sudo apt-get install libmysqlclient15-dev -y
Stcorbett
fuente