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
и попытался перезапустить сервер, но все равно получить ошибку.
Ответы
Ответ 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'
, и он работает до сих пор.
Ответ 9
Вот как я исправил это:
bundle config
bundle config --delete without
bundle install --deployment --without development test postgres
Кредиты:
Как отменить установку пакета - без
Ответ 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
Надеюсь, что это решает вашу проблему.