この問題の解決策を見つけるのに苦労しています。エラーが発生しています:
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/
さらに情報を提供できる場合はお知らせください。
ありがとう、アンディ
P.s-マイdatabase.yaml
はすでにmysql2
。
問題はconfig/database.ymlファイルにあります
アダプターがmysqlではなく(mysqlではない)ことを指定する行が必要です。
adapter: mysql2
の代わりに
adapter: mysql
Config/database.ymlでmysql(数字に注意してください!)の代わりにアダプタmysql2を指定することで助けられました。
1)config/database.yml
ファイルを更新して変更する必要があります:
adapter: mysql
に
adapter: mysql2
2)Gemfile
を更新し、activerecord-mysql2-adapter
依存関係を明示的に追加する必要があります。
gem 'mysql2'
gem 'activerecord-mysql2-adapter'
私はそれを信じていなかっただろうが、私のdatabase.ymlファイルを削除して再作成することで、実際に私にとっても問題は解決した。ありがとうタイラー。さまざまなバージョンのgem mysql、mysql2、activerecord-mysql-adapterなどのインストールとアンインストールに何時間も費やしました。結局、私のgemfileは
gem 'mysql2', "~>0.3.11"
私のdatabase.ymlファイルには
adapter: mysql2
OSX 10.8、Rails 3.2.8、およびRuby 1.9.3。
ちなみに、Windows 7マシンのmysql2アダプターでも同じ問題が発生しました。 activerecord-mysql-adapter gemのディレクトリをアンインストールし、削除することも重要であると思われました。
これは遅れるかもしれませんが、バンドルのインストールは.4.をインストールしていたので、gemファイルを編集して、mysql2
と
gem 'mysql2', "~>0.3.11"
その後
bundle install
ターミナルで(これによりmysql2 0.3.11がインストールされ、最後のバージョンではありません)アクティブレコードには最後のバージョンでの作業に問題があると思います。まあそれが役立つことを願っています
本当に、あなたはおそらくあなたのGemfile
にそれを追加すべきです:
gem "mysql2"
そして、Bundlerでgemをインストールします。
bundle install
ステップ1。gem 'mysql2', "~>0.3.11"
の代わりに gem 'mysql2'
Gemfileで
ステップ2。 puting mysqllib.dll
(mysqlインストールで利用可能C:\wamp\bin\mysql\mysql5.5.24\lib
) の中に C:\Ruby2.0.0\bin
フォルダはレーキを解決しましたdb:migrate
問題あり、my Railsとmysql(database.yml
にはmysql2が含まれます)
Windows 7、64ビット、mysql 64ビットを実行しています、Ruby 2.0.0 [x64-mingw32]
ご意見ありがとうございます。
何も解決しない場合(mysql2
あなたのdatabase.yml
)そして、あなたは[〜#〜] rvm [〜#〜]を使用してRubyバージョン、これが最も簡単なソリューションです:
removeすべての古いgemsets(global
を含む)を試して、新しいRuby=バージョンとバンドルを再度インストールします。この方法で問題を解決できます。 。
Rails 3.2。すべてのgemの削除、バンドルのインストールなどが機能しませんでした。Gemfileとdatabase.ymlがmysql2を正しく指定していました。
最後に、database.ymlを削除して再作成しましたが、すべてが再び機能します。おそらくファイルのタイプミスまたは隠し文字でした。
特定の環境でのみアダプタをmysql2に変更したが、環境をrakeコマンドに渡していない可能性があります。
例えば。実稼働環境でmysqlをmysql2に変更しただけですが、実行されていました
rake generate_secret_token
私がそれを次のように変更すると、うまくいきました:
rake generate_secret_token Rails_ENV=production
database.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
2番目:gemfileに「gem 'mysql2'」(二重引用符の内側にあるもの)を追加します。
すべてを保存し、バンドルインストールを実行します。お役に立てば幸いです。
または、単にタイプミスである可能性があります。
コマンドを実行すると同じ問題が発生し、同じエラーが発生します
gem install activerecord-mysql2-adapter
libmysqlclient-devをインストールする必要があります
Sudo apt-get install libmysqlclient-dev
わたしにはできる
私の場合、私もこのエラーを受け取ったとき:
レーキは中止されました! mysqlアダプターをインストールしてください:
gem install activerecord-mysql-adapter
(mysqlはバンドルの一部ではありません。Gemfileに追加してください。)
Googleを検索してさまざまな方法を試した後、うまくいきませんでした。最後に、答えは
open gemfile
を実行しますgem 'mysql2', '< 0.3.7'
行を追加します。古いRails 2.3.18 Ruby 1.8.7アプリを新しいMacBook(High Sierra-10.13.6)に「移行」した) (POWを使用して)アプリを実行し、スクリプト/コンソールを使用するには、SIPを無効にし、/ urs/lib /ディレクトリにファイルへのリンクを作成する必要がありました。移行アシスタントはできませんでした。 SIPのためにリンクを作成します。
無効にするにはSIP-システム整合性保護
システムの起動中にCommandキーとRキーを押して、通常どおりMac OSリカバリモードで起動します。
通常どおり言語を選択します(該当する場合)
「MacOS Utilities」画面で、画面の上部から「Utilities」メニューをプルダウンします。
ターミナルで、次のコマンドを入力します:csrutil disable
コンピュータを再起動してください
最後に、再起動後、ターミナルで次のコマンドを入力します。
Sudo ln /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib