2010-08-12 14 views
76

me sale este errorRuntimeError con mysql2 y rails3 (bundler)

`establish_connection': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) (RuntimeError) 
    from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activerecord- 

Here es volcado de error entera y mi config y Gemfile.

+0

Me enfrenté al mismo problema y después de varios análisis, puedo instalar con éxito el mysql2 en windows con rails3. El proceso que seguí se da en la siguiente publicación del blog. http://www.kyybaventures.com/blog/installing-mysql2-gem-ruby-rails-windows Espero que sea útil resolver el problema anterior. Mani – maniempire

Respuesta

0

que tenía el mismo error después de actualizar desde Ubuntu 11.10 a 12.04. Así es como he solucionado el problema:

gem uninstall mysql2 
bundle 

Creo que la clave aquí es las extensiones nativas '' - supongo que cuando instalé pasado, yo estaba usando una versión diferente de MySQL.

Installing mysql2 (0.3.11) with native extensions 
14

¿Incluyó la gema mysql2 en su gemfile en lugar de la antigua gema mysql y ejecutó la instalación del paquete luego?

+0

Esto podría ayudar a alguien. http://stackoverflow.com/questions/3608287/installing-mysql2-gem-for-rails-3/3608756#3608756 –

3

Esto también ha solucionado el problema que tuve con:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) 

que realmente necesita para funcionar: joya instalar mysql2 y añadir la gema para su configuración.

+1

Estaba teniendo este problema ya que estaba instalando la gema mysql2 manualmente. Luego lo usé como dijiste en el archivo gemfile y ejecuté la instalación del paquete. Se cargó, pero obtuve el error could not connect to mysql.sock. Así que ENTONCES ejecuté env ARCHFLAGS = "- arch i386" gem install mysql2 --version 0.2.6 - --with-mysql-config =/usr/local/mysql/bin/mysql_config (estoy en un Mac Pro) y esto pareció resolver mis problemas. Ran rails s y hey presto ... Espero que esto ayude a alguien más :) – fullstacklife

+0

@dryprogrammers - Que podría darte más de 100, por favor pon tu comentario como respuesta, es MUY relevante para Ubuntu 12-10 también. En Ubuntu 12.10 completamente actualizado, el gitlab preciso no se instalaría. Bache. Después de muchas horas (6-8) de buscar e intentar muchas cosas, probé tu hack de mac como último recurso. LO MANTÉNGASE MUCHO, ya que a mí (tos) no me importan para nada los Macs ... esto lo hizo por mí, ahora puedo irme a la cama ... ¡feliz! :) – stefgosselin

2

simplemente correr "joya i nstall mysql " también agrega lo mismo en el archivo gemfile y ejecuta el paquete. trabajaron

+0

esto me dio una pista. Ejecuté "sudo gem install mysql2" y funcionó. ¡Gracias! –

+1

No se recomienda la administración manual de gemas fuera de un Gemfile. Es propenso a problemas de dependencia para otros desarrolladores o implementación. –

101

que estaba recibiendo el mismo error durante el uso de carriles 3.0 .7 y mysql2 0.3.2. La solución, que encontré here, es utilizar una versión anterior de mysql2. De este modo editar sus Gemfile a

gem 'mysql2', '< 0.3' 

y ejecutar

bundle install 
+0

Este me lo arregló en Ubuntu 10.04 !! Si usa RVM, también puede usar: 'rvm gem install mysql2 --version = 0.2.7', y agregue la línea anterior a su Gemfile. – TrinitronX

+0

Tuve exactamente este mismo problema hoy, subiendo a 3.1 y bajando a 3.0.7. Esta fue la solución. –

+0

Volviendo a 0.2.7 funcionó para mí también. –

1

Soy un principiante en rubí, carriles, y Linux. Así que si esta solución no funciona, tengo ninguna responsabilidad :)

Paso 1:

sudo gem uninstall mysql2 

Paso 2:

sudo gem install mysql -v 0.2.7 

inicio WEBrick, si el mismo problema todavía aparece volver a instalar los rieles.

Esta solución funciona para mí.

+1

¿No es generalmente una mala práctica instalar una gema usando sudo? http://stackoverflow.com/questions/2119064/sudo-gem-install-or-gem-install-and-gem-locations – Tass

1

Igual problema para mí también. Actualizado a Rails 3.1.rc4 luego degradado a 3.0.3. Trabajó para mi.

6

Si está utilizando RVM, y posiblemente añadido mysql2 fuera del RVM, siga estos pasos: Compruebe que la Gemfile dice:

gem 'mysql2' 

o para Rails2.x:

gem 'mysql2', '~> 0.2.11' 

luego:

$ cd RAILS_ROOT 
$ gem uninstall mysql2 

Select gem to uninstall: 
1. mysql2-0.2.11 
2. mysql2-0.3.6 
3. All versions 
> 3 # select "All versions" 
$ rvm gemset install mysql2 
$ bundle install 

Ahora los rieles deberían comenzar correctamente.

0

partir de 0.3.0 y 3.1 ActiveRecord - el adaptador ActiveRecord ha sido se retiraron de esta joya en sí mismo y ActiveRecord. Si necesita uso mysql2 con las versiones 3.1 Rieles < asegurarse y especifique joya "mysql2", "~> 0.2.7" en su Gemfile

el archivo que falta (no such file to load) se puede encontrar en el pre 0.3.0 versiones de mysql2.

citado del documentation of mysql2

Cuestiones relacionadas