Gem::LoadError для mysql2 gem, но он уже есть в 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
и попытался перезагрузить сервер, но все равно получил ошибку.
13 ответов
Если у вас есть эта ошибка при обновлении до rails 4.2.4 (также с rails 4.1.5), попробуйте использовать эту версию mysql2:
gem 'mysql2', '~> 0.3.18'
Очевидно, mysql2 все еще не совместим с более новой версией rails, потому что rails 4.2.4 довольно нов, поскольку я отвечал на этот вопрос 8 сентября 2015 года, поэтому используйте приведенную выше строку в файле Gem и запустите:
bundle install
Вам должно быть хорошо идти
Это сработало для меня, когда я указал версию 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
Изменить на
gem 'mysql2', '~> 0.3.18'
в вашем Gemfile.
Эта ветка на официальном mysql2 Github говорит об этом. Вам нужно объявить этот номер версии, если вы используете rails version 4.xx
https://github.com/brianmario/mysql2/issues/675
Тогда беги bundle update mysql2
,
Эта проблема может возникнуть, если вы используете более новую версию rails > 4
Сделайте эти два простых шага, это сработает. Откройте свой Gemfile и найдите строку ниже
gem 'mysql2'
замените эту строку конкретной версией MySQL, как показано ниже
gem 'mysql2', '~> 0.3.18'
Теперь остановите сервер и запустите bundle
bundle install
Теперь перезагрузите ваш сервер. Он должен работать.
rails s
Я получил ту же ошибку после обновления до Rails 4.1, и мне удалось устранить ее, обновив mysql2. Запустите это в вашей папке приложения rails:
$ bundle update mysql2
Будучи новичком в рубине, я не мог понять строку gem 'mysql2', '~> 0.3.18'
это просто означает, что перейдите в папку вашего проекта rails, а затем появится строка для mysql2, она будет равна 0.4*, поэтому вы можете изменить ее на gem 'mysql2', '~> 0.3.18'
и так как у нас есть новое определение, мы должны перестроить зависимость, чтобы сделать эту простую команду, как объяснено при установке верхнего комплекта.
Он не загружает драгоценный камень mysql2, потому что новая версия драгоценного камня mysql2(0.4.1) не может загрузить mysql2_adaptor. Это работает для меня.
gem 'mysql2', '~> 0.3.13'
и беги
bundle install
У меня была та же ошибка, и это потому, что 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'
и это работает до сих пор.
Вот как я это исправил:
bundle config
bundle config --delete without
bundle install --deployment --without development test postgres
Он не загружает драгоценный камень mysql2, потому что новая версия драгоценного камня mysql2 (>= 0.4.0) не может загрузить mysql2_adaptor. Вы можете попробовать это?
gem 'mysql2', '~> 0.3.13'
Надеюсь, это должно сработать.
Я новичок в Ruby on Rails и на сайтах, но слышу, что сработало для меня.
Мне пришлось изменить свой gemfile, gem 'mysql2' на gem 'mysql2', '~> 0.3.13', затем в rails я набрал bundle install, затем я попытался rails s и получил ошибки, поэтому я попытался обновить bundle mysql2, затем в rails набрал рельсы с, и это сработало
Решил проблему, установив libmysqlclient-dev. sudo aptitude install libmysqlclient-dev, а затем запустите пакет.
Я решил проблему, установив mysql2 gem local (gem install mysql2, bundle install) и добавив следующую строку в Gemfile:
gem 'mysql2'
Настройка адаптера mysql2 в database.yml
adapter: mysql2
было также важно!
Я ранее установил mysql2 0.4.5, но это давало мне эту ошибку, поэтому я установил другую версию mysql2:
gem install mysql2 - версия 0.3.20
Надеюсь, это решит вашу проблему.