복붙노트

[RUBY-ON-RAILS] 데이터베이스 어댑터에 대한 지정된 'mysql2',하지만 보석이로드되지 않습니다 보석 :: LoadError - 4 레일

RUBY-ON-RAILS

데이터베이스 어댑터에 대한 지정된 'mysql2',하지만 보석이로드되지 않습니다 보석 :: LoadError - 4 레일

내 gemfile에서 내가 가진 :

gem 'mysql2'

다음과 같이 내 database.yml을이다 :

default: &default
  adapter: mysql2
  database: <%= ENV['db_name'] %>
  username: <%= ENV['db_user'] %>
  password: <%= ENV['db_pass'] %>
  host:     <%= ENV['db_host'] %>
  pool: 32
  socket:   <%= ENV['socket'] %>

development:
  <<: *default

production:
  <<: *default

나는 두 번들 업데이트를 실행하고 설치하고 내 Gemfile.lock 쇼의 mysql2 번들했습니다.

그러나 나는 갈퀴 DB를 실행하면 내가 모두 내 컴퓨터에서 스테이징 서버에이를 수 마이그레이션 :

myproject.com(master)$ rake db:migrate
WARNING: Use strings for Figaro configuration. 10000012508 was converted to "10000012508".
WARNING: Use strings for Figaro configuration. 860526407370038 was converted to "860526407370038".
rake aborted!
Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
.....

그냥 내가 번들 업데이트를 다시 설치하고 번들 번들 깨끗한 --force 및 달렸다했다, 확인 mysql2 또는 무언가의 나쁜 버전이 아니 었하고 내가 보석 목록을 실행할 때 나는 mysql2 (0.4.0)과 다른 버전을 볼 수 있습니다.

어떤 아이디어가 가장 극명하게 될 것이다.

그것은이 버그 리포트에 따라, (링크에 대한 의견 dcorr하는 신용) 레일의 다음 릴리스 4.2.x를에서 해결 될 것입니다, 현재 레일 전 4.1.x 및 4.2.x를에 문제가 있습니다.

그 동안 당신은 당신의 gemfile이 줄을 추가하여 버전 mysql2의 0.3.18로 다운 그레이드 수행하여 해결할 수 있습니다 :

gem 'mysql2', '~> 0.3.18'

해결법

  1. ==============================

    1.그냥 추가 업데이트 - 문제의 해결책은 올바른 것입니다.

    그냥 추가 업데이트 - 문제의 해결책은 올바른 것입니다.

    제 4 회 코멘트의 가치가 복용 메모입니다 :

    나는 4-2 안정 지점에 레일을 4.2.4 넥타이 최신 mysql2 작업을 얻을 수 있었다 :

    gem 'rails', '~> 4.2.4', git: "git://github.com/rails/rails.git", branch: '4-2-stable'
    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] #-> Rails 4.1+
    
    #DB
    gem 'mysql2'
    
  2. ==============================

    2.그냥 해:

    그냥 해:

    보석 'mysql2', '~> 0.3.18'이 보석은 레일 버전 4.x.x와 함께 작동

    보석 'mysql2'를 설치하는 경우, '~이> 0.4.0'은 보석로드 오류가 발생하고 호환성 문제가 발생합니다

  3. ==============================

    3.사용이 게시되었을 때이 특정 질문 상대와 레일의 버전에 대한 답은 문제가 번들 갱신 및 최신 레일 액티브와의 호환성 문제가 있습니다 0.4.x로 mysql2 버전 업데이트를 수행에서 발생한다는 것입니다.

    사용이 게시되었을 때이 특정 질문 상대와 레일의 버전에 대한 답은 문제가 번들 갱신 및 최신 레일 액티브와의 호환성 문제가 있습니다 0.4.x로 mysql2 버전 업데이트를 수행에서 발생한다는 것입니다.

    다시 말하지만,이 레일 / 액티브의 이전 버전을 사용하는 사람들을위한 해결책이 아니다 유의하시기 바랍니다.

    빠른 해결책은 다음과 같이 간단하게 gemfile에서 mysql2 버전을 지정하는 것입니다 :

    저장 'mysql2' '0.3.20'

    긴 솔루션은 액티브 업데이트하거나 변화에 mysql2에 뭔가 하나를 기다려야 할 것이다.

  4. ==============================

    4.이 문제는 현재 해결되었습니다 https://github.com/brianmario/mysql2/issues/950

    이 문제는 현재 해결되었습니다 https://github.com/brianmario/mysql2/issues/950

    Gemfile :

    gem 'rails', '4.2.8'
    gem 'mysql2', '~> 0.4.0'
    

    그런 다음 실행 번들 업데이트는 mysql2 레일

    저는 현재 MySQL의 V 8.0.11을 사용하고 있습니다

  5. ==============================

    5.당신이 당신의 레일 버전을 업그레이드 할 수 있다면,이에 Gemfile을 변경하고는 mysql2 보석 버전을 다운 그레이드없이 문제를 해결합니다 :

    당신이 당신의 레일 버전을 업그레이드 할 수 있다면,이에 Gemfile을 변경하고는 mysql2 보석 버전을 다운 그레이드없이 문제를 해결합니다 :

    gem 'rails', '4.2.6'
    
  6. ==============================

    6.완전한 초보자로서 난 그냥 시험 검사를했고, 결국 내 서버 작업을 가지고 있으므로이 작업을 수행하는 방법에 혼동있어, 여기에 내가 그것을 작동 얻었다 방법이다.

    완전한 초보자로서 난 그냥 시험 검사를했고, 결국 내 서버 작업을 가지고 있으므로이 작업을 수행하는 방법에 혼동있어, 여기에 내가 그것을 작동 얻었다 방법이다.

    디렉토리 ( "작업") 작업의 파일에 들어가 거기에서은 보석에 보석 파일 ( "Gemfile") 편집 보석 'mysql2'에 MySQL의 2가 설치되어 이동이 만든 응용 프로그램의 파일 ( "sample_app")에 들어가 'mysql2', '~> 0.3.18'

    이제 "설치 번들"cmd를 실행 명령로 돌아갑니다.

    편집 파일 디렉토리가 괄호 안에 파일이 있어야 할 위의 고려 사항을 복용 그래서. "C \ 작업 \ sample_app \ Gemfile"

    난 약간의 도움이 있었다 바랍니다.

  7. ==============================

    7.당신이 당신의 컴퓨터에 어떤 MySQL의 패키지를 누락 할 때 일반적으로 발생합니다. 당신은 보석에서 오류가 mysql2를 설치받을 수 있나요? 당신은 어떤 OS를 작업중인?

    당신이 당신의 컴퓨터에 어떤 MySQL의 패키지를 누락 할 때 일반적으로 발생합니다. 당신은 보석에서 오류가 mysql2를 설치받을 수 있나요? 당신은 어떤 OS를 작업중인?

    데비안의 경우, 또는 우분투 sudo를 시도 apt-get을 libmysqlclient-dev에 설치합니다.

    또한 보석이 Gemfile의 그룹 문 안쪽에 배치되지되어 있는지 확인합니다.

  8. ==============================

    8.보석 파일의 상단에 있었다 같은 문제가 있지만 추가 소스는 'https://rubygems.org'문제를 해결했다.

    보석 파일의 상단에 있었다 같은 문제가 있지만 추가 소스는 'https://rubygems.org'문제를 해결했다.

    단계 :

    당신의 보석 파일에 소스를 'https://rubygems.org'추가 할 수 있습니다. '~> 0.3.18', mysql2 보석을 주석 및 보석 'mysql2을'추가 실행 설치 번들

  9. ==============================

    9.이 시도:

    이 시도:

    bundle update mysql2
    

    이 명령은 최신 버전으로 'mysql2'보석 업데이트됩니다 (0.3.17 이상이어야한다)와 레일 서버를 시작합니다.

  10. from https://stackoverflow.com/questions/32457657/rails-4-gemloaderror-specified-mysql2-for-database-adapter-but-the-gem-i by cc-by-sa and MIT license