Bundler no instalará mysql2

En primer lugar, he revisado docenas de publicaciones aquí en SO y Google y no he podido encontrar una respuesta. Estoy intentando instalar mysql2 con bundler y no funciona.

Que se ejecuta en Servidor Ubuntu 11.04 Natty

Aquí hay información de fondo:

ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]

gem -v
1.8.24

rails -v
Rails 3.2.5

$ mysql --version
mysql  Ver 14.14 Distrib 5.1.62, for debian-linux-gnu (x86_64) using readline 6.2

Tengo gem "mysql2", "~> 0.3.11" en mi Gemfile

Cuando lo hago instalación del paquete pasa por el proceso y termina con éxito (Sin errores) pero no instala mysql2. Cuando lo hago espectáculo de paquete, mysql2 no está en la lista.

He probado un montón de cosas recomendadas aquí y en los foros y todavía no puedo instalar mysql2 con el paquete.

¿Alguna idea?

Gracias.

preguntado el 12 de junio de 12 a las 21:06

Por favor, publique relevante error de mensajes literal. -

también tienes que decir qué sistema operativo estás usando :) -

Descripción actualizada. No recibo ningún error. La instalación del paquete finalizará correctamente sin errores, pero mysql2 no aparece en la lista cuando hago la presentación del paquete. Espero que eso ayude a aclarar. -

Intenta hacerlo manualmente gem install mysql2 -v=0.3.11 y ver si obtiene algún error de esa manera. -

gem install mysql2 -v=0.3.11 Creación de extensiones nativas. Esto podría llevar un tiempo... Instalado correctamente mysql2-0.3.11 1 gema instalada Instalando la documentación ri para mysql2-0.3.11... Instalando la documentación RDoc para mysql2-0.3.11... No se recibieron errores. mysql2 todavía no aparece en la lista cuando hago la presentación del paquete. -

2 Respuestas

Para mysql2 necesita instalar los archivos dev en su servidor.

prueba primero:

sudo apt-get install libmysqlclient-dev

Luego verifique primero su GemFile en su RoR App Dir. Tengo esta línea en mi GemFile:

gem 'mysql2', '0.3.11'

ejecutar paquete:

bundle install

o prueba el comando de Emily primero y luego ejecuta la instalación del paquete:

gem install mysql2 -v=0.3.11
bundle install

Espero que ayude

Respondido el 13 de junio de 12 a las 04:06

Ya tengo los archivos dev: libmysqlclient-dev ya es la versión más nueva. Revisé los pasos anteriores y mysql2 todavía no aparece en la lista cuando lo hago espectáculo de paquete - wonita

sudo apt-get install libmysqlclient-dev - esto funcionó para mí. eres genial tío! - Westonplatter

sudo yum install -y mysql-devel mysql-libs si está en un sistema con yum. - meekohi

Para mí simplemente instalando libmysqlclient-dev solucionó el problema. - Roberto Dundon

Entonces, después de muchos intentos, leer y tirarme de los pelos, descubrí cuál era el problema, así que lo publico para aquellos que puedan encontrarse en la misma situación.

La razón por la que el paquete no instalaría mysql2 es porque la gema estaba dentro de este plataformas estructura, ver abajo:

platforms :mri_19, :mingw_19 do
  group :mysql do
    gem "mysql2", "0.3.11"
  end
end

Así que todo lo que hice fue mover la gema "mysql2", "0.3.11" sola a la parte superior del Gemfile y ejecutar instalación del paquete y eso lo hizo! Ahora mysql2 aparece en la lista de paquetes y mi aplicación Rails se está ejecutando ahora.

¡Gracias a todos los que intentaron ayudar!

Respondido el 13 de junio de 12 a las 19:06

Fascinante, algo que nunca había visto:" group :mysql ". Utilizo en mi archivo solo grupos de "prueba, desarrollo, producción y activos" para organizar mi proyecto de rieles. ¡Buen trabajo @wonitta! - la fuerza

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.