Подтвердить что ты не робот

Gem:: LoadError для gem mysql2, но он уже находится в Gemfile

Gem::LoadError
Specified 'mysql2' for database adapter, but the gem is not loaded.
Add `gem 'mysql2'` to your Gemfile

Эта ошибка возникла при загрузке следующих файлов:

active_record/base

Это ошибка, которую я получаю при запуске сервера rails.

The mysql2 gem has been added to the Gemfile as well.

Я сделал bundle install и попытался перезапустить сервер, но все равно получить ошибку.

4b9b3361

Ответ 1

Если эта ошибка возникает при обновлении до рельсов 4.2.4 (также с помощью рельсов 4.1.5), попробуйте использовать эту версию mysql2:

gem 'mysql2', '~> 0.3.18'

По-видимому, mysql2 по-прежнему не совместим с более новой версией рельсов, потому что rails 4.2.4 довольно нов как время ответа на этот вопрос мной 8 сентября 2015 года, поэтому используйте приведенную выше строку в своем файле Gem и запустите:

bundle install 

Вы должны быть добры идти

Ответ 2

Он работал у меня, когда я задал версию gem mysql2 перед самой новой (0.4.0). По какой-то причине возникает проблема с Rails 4.2.4 и этим камнем 0.4.0. Итак, чтобы решить проблему, я только что указал, что предыдущий камень выпущен: 0.3.20, и это сработало хорошо для меня!

gem 'mysql2', '~> 0.3.20'
bundle install

Вы можете проверить все версии драгоценных камней здесь: https://rubygems.org/gems/mysql2/versions

Ответ 3

Изменить на

gem 'mysql2', '~> 0.3.18'

в вашем Gemfile.

Этот поток на официальном mysql2 Github говорит, чтобы сделать это. Вы должны объявить номер версии, если вы - рельсы версии 4.x.x.

https://github.com/brianmario/mysql2/issues/675

Затем запустите bundle update.

Ответ 4

Я получил ту же ошибку после обновления до Rails 4.1, и мне удалось ее решить, обновив mysql2. Запустите это в папке приложения rails:

$ bundle update mysql2

Ответ 5

Эта проблема может возникнуть, если вы используете новую версию rails > 4

Сделайте эти два простых шага, он будет работать. Откройте Gemfile и найдите строку ниже.

gem 'mysql2'

замените эту строку на определенную версию mysql, как показано ниже

gem 'mysql2', '~> 0.3.18'

Теперь остановите сервер и запустите пакет

bundle install

Теперь перезагрузите сервер. Он должен работать.

rails s

Ответ 6

Будучи Начинающим рубином, я не мог понять линию gem 'mysql2', '~ > 0.3.18'

это просто означает перейти в папку проекта rails, а затем строка для mysql2 будет равна 0,4 *, поэтому вы можете изменить ее на gem 'mysql2', '~ > 0.3.18'

и поскольку у нас есть новое определение, мы должны перестроить зависимость, чтобы выполнить эту простую команду, как описано в верхней строке bundle install

Ответ 7

Он не загружает память mysql2, потому что новая версия mysql2 (0.4.1) gem не может загрузить mysql2_adaptor. Это работает для меня.

gem 'mysql2', '~> 0.3.13'

и запустите

bundle install

Ответ 8

У меня была такая же ошибка, и это связано с тем, что Rails 4.1 требует минимальной версии mysql2 0.3.13, а максимальная совместимость с Windows - версия 0.3.11.

Итак, я отредактировал файл c:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\activerecord-4.1.1\lib\active_record\connection_adapters\mysql2_adapter.rb и изменил строку gem 'mysql2', '~> 0.3.13' на gem 'mysql2', '~> 0.3.11', и он работает до сих пор.

Ответ 10

Он не загружает gem mysql2, потому что новая версия mysql2 ( >= 0.4.0) gem не может загрузить mysql2_adaptor. Можете ли вы попробовать это?

gem 'mysql2', '~> 0.3.13'

Надеюсь, он должен работать.

Ответ 11

Я решил проблему, установив локальную локальную сеть mysql2 (gem install mysql2, bundle install) и добавив следующую строку в Gemfile:

gem 'mysql2'

Установка адаптера mysql2 в database.yml

adapter: mysql2

также важно!

Ответ 12

Я бренд, шлепающий новый к Ruby on Rails и веб-сайтам, но слышу, что сработало для меня.

Мне пришлось изменить свой gemfile, gem 'mysql2' на gem 'mysql2', '~ > 0.3.13' затем в рельсах я набрал комплект затем я попробовал рельсы и получил ошибки поэтому я попробовал обновление пакета mysql2 затем в рельсах набрал рельсы s, и он работал

Ответ 13

Я уже установил mysql2 0.4.5, но это дало мне эту ошибку, поэтому я установил другую версию mysql2:

gem install mysql2 --version 0.3.20

Надеюсь, что это решает вашу проблему.