programing

mysql 어댑터 'gem install active record-mysql-adapter'를 설치하십시오.

lovejava 2023. 7. 23. 13:54

mysql 어댑터 'gem install active record-mysql-adapter'를 설치하십시오.

저는 이 문제에 대한 해결책을 찾는 데 어려움을 겪고 있습니다.오류가 발생합니다.

Please install the mysql adapter: 'gem install activerecord-mysql-adapter'

 /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError)
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:48:in `resolve_hash_connection'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:39:in `resolve_string_connection'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:23:in `spec'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:127:in `establish_connection'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/railtie.rb:76:in `block (2 levels) in <class:Railtie>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/lazy_load_hooks.rb:26:in `on_load'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/railtie.rb:74:in `block in <class:Railtie>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:30:in `run'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:54:in `each'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/application.rb:136:in `initialize!'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/ Andy /config/environment.rb:5:in `<top (required)>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require'
    from /Users/ Andy /config.ru:4:in `block in <main>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /Users/ Andy /config.ru:1:in `new'
    from /Users/ Andy /config.ru:1:in `<main>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands/server.rb:46:in `app'
    from /Users/ Andy/mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands/server.rb:70:in `start'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:55:in `block in <top (required)>'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:50:in `tap'
    from /Users/ Andy /mysql2/ruby/1.9.1/gems/railties-3.2.1/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>' ```

에 여기다니습있이 있습니다.gem env산출량.

  RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.15
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.2.0]
  - INSTALLATION DIRECTORY: /Users/ Andy/.rvm/gems/ruby-1.9.2-p290
  - RUBY EXECUTABLE: /Users/ Andy/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/ Andy/.rvm/gems/ruby-1.9.2-p290/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/ Andy/.rvm/gems/ruby-1.9.2-p290
     - /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

제가 더 많은 정보를 제공할 수 있다면 알려주시기 바랍니다.

고마워요, -앤디


추신 - 내database.yaml이미 가지고 있는mysql2.

문제는 파일 config/database.yml에 있습니다.

어댑터가 mysql2(mysql이 아님)임을 지정하는 행이 있어야 합니다.

adapter: mysql2

대신에

adapter: mysql

제가 도움이 된 것은 config/database.yml에서 mysql 대신 adapter mysql2를 지정한 것입니다.

은 당신의 업트야합을 .config/database.yml파일 및 변경:

adapter: mysql

안으로

adapter: mysql2

은 당신의 업트야합을 .Gemfile으로 명적으추다니가합로를 추가합니다.activerecord-mysql2-adapter종속성:

gem 'mysql2'
gem 'activerecord-mysql2-adapter'

제 database.yml 파일을 삭제하고 다시 생성하지 않았다면 저도 실제로 문제를 해결했을 것입니다.타일러 고마워요.여러 버전의 gemsmysql, mysql2, active record-mysql-adapter 등을 설치하고 제거하는 데 몇 시간이 걸렸습니다.결국, 내 보석 파일은

gem 'mysql2', "~>0.3.11"

그리고 내 database.yml 파일은

adapter: mysql2

OSX 10.8, Rails 3.2.8, Ruby 1.9.3을 사용하고 있습니다.

그런데 Windows 7 컴퓨터의 mysql2 어댑터에서도 같은 문제가 발생했습니다.활성 record-mysql-adapter gem의 디렉터리를 제거하고 삭제하는 것도 중요한 것으로 보입니다.

보석을 설치하려고 합니다.

정말로, 당신은 아마도 그것을 당신의 것에 추가해야 할 것입니다.Gemfile:

gem "mysql2"

그런 다음 번들러와 함께 보석을 설치합니다.

bundle install

늦은 시간일 수도 있지만 번들 설치가 0.4.0을 설치하는 중이었기 때문에 gem 파일을 편집하려고 시도하고 교체했습니다.mysql2와 함께

gem 'mysql2', "~>0.3.11"

그리고 나서.

bundle install

터미널에서 (마지막 버전이 아닌 mysql20.3.11을 설치합니다) 활성 레코드가 마지막 버전에서 작동하는 데 문제가 있다고 생각합니다.도움이 되길 바랍니다.

1단계. gem 'mysql2', "~>0.3.11"gem 'mysql2'

2단계 퍼팅mysqllib.dll 설치 시 )C:\wamp\bin\mysql\mysql5.5.24\libC:\ruby2.0.0\bin.db:migrate하여 mysqlmysql)과 내 했습니다.database.yml를 합니다.

Windows 7, 64bit, mysql 64bit, ruby 2.0.0을 실행하고 있습니다 [x64-mingw32].

여러분의 의견에 감사드립니다.

Rails 3.2로 업그레이드한 후 OSX Lion에서 OP와 동일한 문제가 발생하였습니다.모든 보석 제거, 번들 설치 등이 작동하지 않았습니다.Gem 파일 및 데이터베이스.yml이 mysql2를 올바르게 지정했습니다.

결국, 나는 나의 database.yml을 삭제하고 다시 만들었고 모든 것이 다시 작동합니다.파일에 있는 오타 또는 숨겨진 문자일 수 있습니다.

도움이 되지 않는다면 (당신은 가지고 있습니다.mysql2database.ymlRVM을 사용하여 Ruby 버전을 관리하는 가장 간단한 솔루션은 다음과 같습니다.

이전 보석 세트(다음 포함)를 모두 제거합니다.global하고 다시 을 설치합니다.), 를 참조하십시오.저는 그런 식으로 문제를 해결할 수 있습니다.

특정 환경에서만 어댑터를 mysql2로 변경했지만 rake 명령에 환경을 전달하지 않을 수 있습니다.

예: 운영 환경에서 mysql을 mysql2로 변경했을 뿐 실행 중이었습니다.

rake generate_secret_token

제가 다음과 같이 변경했을 때 작동했습니다.

rake generate_secret_token RAILS_ENV=production

데이터베이스에 대해 언급했습니다.yaml 파일은 이미 가지고 있습니다.mysql2.

당신이 가지고 있는지 확인해 볼 가치가 있습니다.activerecord-mysql2-adapter설치된.(참고)-mysql2-)

나는 database.yml의 맨 위에 있는 코멘트된 정보를 변경한다고 말하고 싶습니다.

# 
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

두 번째: gem 파일에 "gem 'mysql2' (이중 따옴표 안에 있는 것은 무엇이든)를 추가합니다.

모든 것을 저장하고 번들 설치를 수행합니다.도움이 되길 바랍니다.

오타일 수도 있어요

명령을 실행할 때 동일한 문제가 발생하고 동일한 오류가 발생합니다.

gem install activerecord-mysql2-adapter

libmysqlclient-dev를 설치해야 합니다.

sudo apt-get install libmysqlclient-dev

저한테는 효과가 있어요.

제 경우에도 이 오류가 발생했을 때:

레이크 중단됨! 어댑터: mysql을 하십시오.gem install activerecord-mysql-adapter패키지는 번들의 일부가 아닙니다.Gemfile에 추가합니다.)

제가 구글을 검색하고 여러 방법을 시도해 본 결과, 작동하지 않았습니다.마지막으로 답은

  • 하여 앱의루이실행여하를 합니다.open gemfile
  • 을 합니다.gem 'mysql2', '< 0.3.7'레일의 보석 라인 바로 아래에 있습니다.

새 MacBook(High Sierra - 10.13.6)으로 '마이그레이션'한 이전 레일 2.3.18 루비 1.8.7 앱의 경우 앱을 실행(POW 사용)하고 스크립트/콘솔을 사용하려면 SIP를 비활성화하고 /urs/lib/ 디렉토리에 파일에 대한 링크를 만들어야 했습니다.SIP 때문에 Migration Assistant에서 링크를 만들 수 없습니다.

SIP를 비활성화하려면 - 시스템 무결성 보호

  1. 시스템을 시작하는 동안 Command(명령) 및 R(R) 키를 눌러 평소와 같이 Mac OS 복구 모드로 부팅합니다.

  2. 언어를 평소와 같이 선택합니다(해당되는 경우

  3. "MacOS 유틸리티" 화면에서 화면 상단의 "유틸리티" 메뉴를 아래로 당깁니다.

  4. 터미널에 crutil 사용 안 함 명령을 입력합니다.

  5. 컴퓨터를 재부팅하세요.

마지막으로 다시 시작한 후 터미널에 다음 명령을 입력합니다.

sudoln /usr/local/local/local/lib/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

제 젬 파일에 다음 행을 추가했는데 작동했습니다.

보석 "보석"

이전:

source 'https://rubygems.org'

gem "rails", "3.2.16"
gem "jquery-rails", "~> 2.0.2"
gem "coderay", "~> 1.1.0"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder", "3.0.0"
...

이후:

source 'https://rubygems.org'

gem "mysql"
gem "rails", "3.2.16"
gem "jquery-rails", "~> 2.0.2"
gem "coderay", "~> 1.1.0"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder", "3.0.0"
...

언급URL : https://stackoverflow.com/questions/9609985/please-install-mysql-adapter-gem-install-activerecord-mysql-adapter