nodejs node example error await async mysql mysql2

node - Por favor, instale el adaptador mysql ''gem install activerecord-mysql-adapter''



nodejs mysql2 example (15)

Tengo problemas para encontrar una solución a este problema. Me aparece el error:

Please install the mysql adapter: ''gem install activerecord-mysql-adapter'' /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `block in replace_gem'': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError) from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:48:in `resolve_hash_connection'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:39:in `resolve_string_connection'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:23:in `spec'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:127:in `establish_connection'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/railtie.rb:76:in `block (2 levels) in <class:Railtie>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:26:in `on_load'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/railtie.rb:74:in `block in <class:Railtie>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:30:in `instance_exec'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:30:in `run'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:54:in `each'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:54:in `run_initializers'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/application.rb:136:in `initialize!'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/railtie/configurable.rb:30:in `method_missing'' from /Users/ Andy /config/environment.rb:5:in `<top (required)>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'' from /Users/ Andy /config.ru:4:in `block in <main>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'' from /Users/ Andy /config.ru:1:in `new'' from /Users/ Andy /config.ru:1:in `<main>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands/server.rb:46:in `app'' from /Users/ Andy/mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands/server.rb:70:in `start'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:55:in `block in <top (required)>'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:50:in `tap'' from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:50:in `<top (required)>'' from script/rails:6:in `require'' from script/rails:6:in `<main>'' ```

Aquí está la salida de gem env .

RubyGems Environment: - RUBYGEMS VERSION: 1.8.15 - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0] - INSTALLATION DIRECTORY: /Users/ Andy/.rvm/gems/ruby-1.9.2-p290 - RUBY EXECUTABLE: /Users/ Andy/.rvm/rubies/ruby-1.9.2-p290/bin/ruby - EXECUTABLE DIRECTORY: /Users/ Andy/.rvm/gems/ruby-1.9.2-p290/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-11 - GEM PATHS: - /Users/ Andy/.rvm/gems/ruby-1.9.2-p290 - /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/

Si puedo proporcionar más información, por favor hágamelo saber.

Gracias, -Andy

Ps: mi database.yaml mysql2 ya tiene mysql2 .


1) Necesita actualizar su archivo config/database.yml y cambiar:

adapter: mysql

dentro

adapter: mysql2

2) Necesita actualizar su Gemfile y agregar explícitamente la activerecord-mysql2-adapter allí:

gem ''mysql2'' gem ''activerecord-mysql2-adapter''


Acabo de agregar la siguiente línea a mi Gemfile y funcionó:

gema "mysql"

Antes de:

source ''https://rubygems.org'' gem "rails", "3.2.16" gem "jquery-rails", "~> 2.0.2" gem "coderay", "~> 1.1.0" gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby] gem "builder", "3.0.0" ...

Después:

source ''https://rubygems.org'' gem "mysql" gem "rails", "3.2.16" gem "jquery-rails", "~> 2.0.2" gem "coderay", "~> 1.1.0" gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby] gem "builder", "3.0.0" ...


Desea instalar la gema mysql2 .

Realmente, probablemente Gemfile agregarlo a tu Gemfile :

gem "mysql2"

Y luego instala tus gemas con bundler:

bundle install


El problema está en su archivo config / database.yml

Debería tener una línea que especifique que el adaptador es mysql2 (y no mysql)

adapter: mysql2

En lugar de

adapter: mysql


En mi caso, cuando también recibí este error:

rake abortado! Instale el adaptador mysql: gem install activerecord-mysql-adapter (mysql no es parte del paquete. Agréguelo a Gemfile).

Después de buscar en Google e intentarlo de muchas maneras, no funcionó. Finalmente, la respuesta es

  • Navega hasta la raíz de tu aplicación, ejecuta open gemfile
  • Agregue la línea gem ''mysql2'', ''< 0.3.7'' directamente debajo de la línea de gemas para los rieles.

Es posible que haya cambiado el adaptador a mysql2 solo para cierto entorno, pero que no esté pasando el entorno al comando rake.

Por ejemplo, solo cambié mysql a mysql2 en el entorno de producción pero estaba ejecutándose

rake generate_secret_token

cuando lo cambié al siguiente funcionó:

rake generate_secret_token RAILS_ENV=production


Esto podría ser tarde, pero la instalación del paquete estaba instalando 0.4.0 . Intenté editar el archivo gem y reemplacé el mysql2 con

gem ''mysql2'', "~>0.3.11"

y entonces

bundle install

en el terminal (Esto instalará mysql2 0.3.11 y no la última versión) Creo que el registro activo tiene problemas para trabajar con la última versión. Bueno, espero que ayude


Estoy enfrentando el mismo problema y obtengo el mismo error cuando ejecuto el comando

gem install activerecord-mysql2-adapter

necesitas instalar libmysqlclient-dev

sudo apt-get install libmysqlclient-dev

Esto funciona para mi


Lo que me ayudó fue especificar el adaptador mysql2 en lugar de mysql (¡tenga en cuenta el dígito!) En config / database.yml.


Nunca lo hubiera creído, pero borrar mi archivo database.yml y volverlo a crear también me resolvió el problema. Gracias Tyler. Pasé horas instalando y desinstalando diferentes versiones de las gemas mysql, mysql2, activerecord-mysql-adapter, etc ... Al final, mi gemfile tiene

gem ''mysql2'', "~>0.3.11"

y mi archivo database.yml tiene

adapter: mysql2

Estoy en OSX 10.8, rieles 3.2.8 y ruby ​​1.9.3.

Por cierto, experimenté los mismos problemas con el adaptador mysql2 en mi máquina con Windows 7. Desinstalar e incluso eliminar el directorio de la gema activerecord-mysql-adapter también parecía ser crítico.


Si nada ayuda (tiene mysql2 como adaptador en su database.yml ) y está utilizando RVM para administrar sus versiones de ruby, aquí está la solución más simple:

Intenta eliminar todos los conjuntos de gemas antiguas (incluida la global ), instala una nueva versión de rubí y vuelve a agrupar. Podría resolver el problema de esa manera.


Tuve el mismo problema que OP en OSX Lion después de actualizar a Rails 3.2. La eliminación de todas las gemas, la instalación del paquete, etc. no funcionó. Gemfile y database.yml especificaban correctamente mysql2.

Al final, borré y recreé mi database.yml y todo vuelve a funcionar. Probablemente fue un error tipográfico o un carácter oculto en el archivo.


Usted ha mencionado su base de datos. El archivo mysql2 ya tiene mysql2 .

Vale la pena comprobar si tienes activerecord-mysql2-adapter instalado. (Nota -mysql2- )


Yo diría que cambie la información comentada en la parte superior en database.yml a

# # Install the MYSQL driver # gem install mysql2 # # Ensure the MySQL gem is defined in your Gemfile # gem ''mysql2'' # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html

segundo: agregue "gem ''mysql2''" (lo que está dentro de las comillas dobles) a gemfile.

guarde todo, haga la instalación del paquete. Espero que ayude.

o simplemente podría ser un error tipográfico.


Paso 1. gem ''mysql2'', "~>0.3.11" lugar de gem ''mysql2'' en Gemfile

Paso 2. poniendo mysqllib.dll (disponible en la instalación de mysql C:/wamp/bin/mysql/mysql5.5.24/lib ) en la carpeta C:/ruby2.0.0/bin resolvió el problema rake db:migrate C:/ruby2.0.0/bin y conectó con éxito mis raíles con mysql ( database.yml contiene mysql2)

Estoy ejecutando Windows 7, 64 bits, 64 bits de MySQL, ruby ​​2.0.0 [x64-mingw32]

Gracias a todos por sus entradas.