[ruby-on-rails] mysql2 gem에 대한 Gem :: LoadError이지만 이미 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하고 서버를 다시 시작했지만 여전히 오류가 발생합니다.



답변

rails 4.2.4 (rails 4.1.5와 함께)로 업그레이드 할 때이 오류가 발생하면이 버전의 mysql2를 사용해보십시오.

gem 'mysql2', '~> 0.3.18'

분명히 mysql2는 최신 버전의 rails와 호환되지 않습니다. 왜냐하면 rails 4.2.4는 2015 년 9 월 8 일 제가이 질문에 답할 때 꽤 새로운 것이기 때문에 Gem 파일에서 위의 줄을 사용하고 실행하십시오.

bundle install 

당신은 잘해야합니다


답변

최신 버전 (0.4.0) 이전에 mysql2 gem 버전을 지정했을 때 저에게 효과적이었습니다. 어떤 이유로 Rails 4.2.4와 그 gem 0.4.0에 문제가 있습니다. 그래서 문제를 해결하기 위해 방금 발표 된 이전 gem을 0.3.20으로 지정했는데 잘 작동했습니다!

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

여기에서 모든 gem 버전을 확인할 수 있습니다 : https://rubygems.org/gems/mysql2/versions


답변

로 변경

gem 'mysql2', '~> 0.3.18'

Gemfile에서.

공식 mysql2 Github의이 스레드는이를 수행하도록 말합니다. Rails 버전 4.xx 인 경우 해당 버전 번호를 선언해야합니다.

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

그런 다음 bundle update mysql2.


답변

Rails 4.1로 업그레이드 한 후에도 동일한 오류가 발생했으며 mysql2를 업데이트하여 문제를 해결할 수있었습니다. rails 앱 폴더에서 이것을 실행하십시오.

$ bundle update mysql2


답변

이 문제는 최신 버전의 rails> 4를 사용하는 경우 발생할 수 있습니다.

이 두 가지 간단한 단계를 수행하면 작동합니다. Gemfile을 열고 아래 줄을 찾으십시오.

gem 'mysql2'

해당 줄을 아래와 같은 특정 mysql 버전으로 바꿉니다.

gem 'mysql2', '~> 0.3.18'

이제 서버를 중지하고 번들을 실행하십시오.

bundle install

이제 서버를 다시 시작하십시오. 작동합니다.

rails s


답변

루비 초보자이기 때문에 gem ‘mysql2’, ‘~> 0.3.18’라인을 알아낼 수 없었습니다.

그것은 단순히 rails 프로젝트 폴더로 이동하고 mysql2에 대한 줄이 있음을 의미합니다 .0.4 *와 같으므로 gem ‘mysql2’, ‘~> 0.3.18’로 변경할 수 있습니다.

새로운 정의가 있으므로 최상위 번들 설치 에 설명 된대로 간단한 명령을 수행하기 위해 종속성을 다시 빌드 해야합니다.


답변

새 버전의 mysql2 (0.4.1) gem이 mysql2_adaptor를로드 할 수 없기 때문에 mysql2 gem을로드하지 않습니다. 이것은 나를 위해 일하고 있습니다.

gem 'mysql2', '~> 0.3.13'

그리고 실행

bundle install