Пожалуйста, установите mysql адаптер 'gem install activerecord-mysql-adapter' - PullRequest
40 голосов
/ 08 марта 2012

У меня проблемы с поиском решения этой проблемы. Я получаю сообщение об ошибке:

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>' ```

Вот вывод 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/

Если я могу предоставить больше информации, пожалуйста, дайте мне знать.

Спасибо, -Andy


P.s - Мой database.yaml уже имеет mysql2.

Ответы [ 16 ]

110 голосов
/ 06 августа 2012

Проблема в вашем файле config / database.yml

У вас должна быть строка, указывающая, что адаптером является mysql2 (а не mysql)

adapter: mysql2

Вместо

adapter: mysql
17 голосов
/ 19 июня 2012

Для меня помогло указать адаптер mysql2 вместо mysql (обратите внимание на цифру!) В config / database.yml.

10 голосов
/ 13 декабря 2015

1) Вам необходимо обновить config/database.yml файл и изменить:

adapter: mysql

на

adapter: mysql2

2) Вам необходимо обновить Gemfile и явно добавить activerecord-mysql2-adapter зависимость там:

gem 'mysql2'
gem 'activerecord-mysql2-adapter'
9 голосов
/ 26 августа 2012

Я бы никогда не поверил, но удаление моего файла database.yml и его воссоздание фактически решило проблему и для меня. Спасибо, Тайлер. Я потратил часы на установку и удаление различных версий гемов mysql, mysql2, activerecord-mysql-adapter и т. Д. В конце концов мой гемфайл имеет

gem 'mysql2', "~>0.3.11"

и мой файл database.yml имеет

adapter: mysql2

Я на OSX 10.8, рельсах 3.2.8 и ruby ​​1.9.3.

Кстати, у меня были те же проблемы с адаптером mysql2 на моей машине с Windows 7. Удаление и даже удаление каталога для гема activerecord-mysql-adaptor также показалось очень важным.

6 голосов
/ 12 сентября 2015

Это может быть поздно, но установка пакета была установлена ​​ 0.4.0 Поэтому я попытался отредактировать файл gem , и я заменил mysql2 на

gem 'mysql2', "~>0.3.11"

, а затем

bundle install

в терминале (это установит mysql2 0.3.11 , а не последнюю версию) Я считаю активнымУ записи есть проблемы с работой с последней версией.Ну, я надеюсь, что это поможет

6 голосов
/ 08 марта 2012

Вы хотите установить mysql2 драгоценный камень .

Действительно, вы, вероятно, должны добавить его к своему Gemfile:

gem "mysql2"

И затем установитьваши драгоценные камни с упаковщиком:

bundle install
4 голосов
/ 12 марта 2013

Шаг 1. gem 'mysql2', "~>0.3.11" вместо gem 'mysql2' в Gemfile

Шаг 2. положить mysqllib.dll (доступно при установке mysql C:\wamp\bin\mysql\mysql5.5.24\lib)в папке C:\ruby2.0.0\bin решил проблему с граблями db:migrate и успешно соединил мои рельсы с mysql (database.yml содержит mysql2)

Я использую windows 7, 64bit, mysql 64bit, ruby ​​2.0.0 [x64-mingw32]

Спасибо вам всем за ваш вклад.

3 голосов
/ 28 февраля 2013

Если ничего не помогает (у вас mysql2 в качестве адаптера в database.yml) и вы используете RVM для управления версиями ruby, вот самое простое решение:

Попробуйте удалите все ваши старые наборы гемов (включая global), установите свежую версию ruby ​​и снова связывайте.Я мог бы решить проблему таким образом.

3 голосов
/ 09 июня 2012

У меня была та же проблема, что и у OP на OSX Lion после обновления до Rails 3.2. Удаление всех драгоценных камней, установка пакета и т.д. не работали. Gemfile и database.yml правильно указали mysql2.

В конце концов я удалил и заново создал свой database.yml, и все снова работает. Вероятно, это была опечатка или скрытый символ в файле.

2 голосов
/ 21 июля 2014

вы упомянули, что в вашем файле database.yaml уже есть mysql2.

Стоит проверить, установлен ли activerecord-mysql2-adapter.(Примечание -mysql2-)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...