2011-01-04 18 views
9

No hay mucho más en mi pregunta que eso. gem install mysql no funciona y no he encontrado nada mediante Google.¿Cómo instalo el adaptador Rails MySQL?

Cuando intento gem install mysql2, esto es lo que obtengo. No sé qué hacer ahora.

[email protected]:~/projects/mcif-rails$ gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
     ERROR: Failed to build gem native extension. 

/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
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=/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby 
     --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 /home/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6 for inspection. 
Results logged to /home/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/ext/mysql2/gem_make.out 
+0

qué sistema operativo se ejecuta? Parece que no ha instalado MySQL y/o las bibliotecas de desarrollo requeridas. –

+0

Estoy en Linux. MySQL está instalado, pero las bibliotecas de desarrollo casi seguro que no. ¿Cómo sé cuáles son? –

+0

Depende de qué distribución está utilizando (es decir, Ubuntu, Red Hat, SUSE)? –

Respuesta

15

Parece que todavía es necesario instalar bibliotecas de desarrollo de MySQL. Estos son necesarios para que la gema se construya con éxito en su sistema.

[Editar] Parece que la Wiki RoR ya no está disponible. Pero, Ubuntu ha ofrecido their own walkthrough que sugiere:

sudo apt-get install mysql-server mysql-client 
sudo apt-get install libmysql-ruby libmysqlclient-dev 
sudo gem install mysql 

Ver http://wiki.rubyonrails.org/database-support/mysql#installation para obtener más detalles.

Ejemplo: Ubuntu

sudo apt-get install mysql-server mysql-server-5.0 libmysqlclient15off \ 
    libmysqlclient15-dev mysql-client-5.0 mysql-common 

sudo apt-get install libmysql++-dev 

sudo gem install mysql 

+0

Ahora desactualizado (obtiene un error) pero vea mi respuesta a continuación. –

+2

en Ubuntu 14.04 'libmysql-ruby' no necesario – itsnikolay

+0

También en Ubuntu 14.04 no existe el paquete" mysql " –

3

Si está utilizando Rails 3 debe usar la gema mysql2. Puede instalarlo con:

gem install mysql2 

Primero tendrá que instalar MySQL y cualquier encabezado de desarrollo. Esto variará según los diferentes sistemas operativos. En Ubuntu, puede ejecutar:

aptitude install mysql-server 
aptitude install mysql-client 
aptitude install mysql-common 
aptitude install libmysql-ruby 
aptitude install libmysqlclient-dev 

Si va a crear un nuevo proyecto, utilice:

rails new sample --database=mysql 
cd sample 
bundle install 

Para más detalles, consulte el project repository.

+0

Lo intenté y edité mi pregunta para mostrar los resultados. –

+0

Hice algunas actualizaciones, vea si la instalación de las bibliotecas ayuda. –

1

Supongo que está trabajando con Rails.

En su Gemfile:

gem 'mysql2' 

Luego, en su terminal:

bundle 
+2

Craps out cuando se trata de 'mysql2' de la misma manera que cuando intento' gem install mysql2'. He editado mi pregunta para mostrar lo que sucede. –

+0

¿tiene la configuración de mysql? – apneadiving

10

Voy a dejar esto aquí:

me encontré con un problema similar, pero se dio cuenta que no podía instalar la gema mysql2 sin tener instalado MySQL en mi máquina de desarrollo (aunque solo estoy usando la gema mysql2 para conectarme a un servidor MySQL remoto). slap

:: :: frente

brew install mysql 

entonces, en mi Gemfile:

gem 'mysql2', '~> 0.3.11' 

seguido por una rápida

bundle install 

éxito!

+0

Guardado mi día, amigo. – Yulia

+0

Simple pero efectivo. Muchas gracias:) – tonyedwardspz

1

En 2013, usando Ubuntu 12.04, esto funcionó para mí:

sudo apt-get install mysql-client libmysqlclient-dev 

bundle install 
Cuestiones relacionadas