4

ここで mysql2 に関する多数の投稿を読みましたが、gem は正常にインストールされているように見えますが、rake db タスクまたは rails コマンドを実行するとエラーが発生します。私のGemfileで:

source 'http://rubygems.org'

gem 'rails', '3.0.7'
gem 'mysql2'

リモートサーバーで次を実行しました。

$ bundle install
...
Using mysql2 (0.2.7)
...
Using rails (3.0.7)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)

$ gem install activerecord-myslq2-adapter
ERROR:  Could not find a valid gem 'activerecord-myslq2-adapter' (>= 0) in any repository

$ gem install mysql2
Building native extensions.  This could take a while...
Successfully installed mysql2-0.3.2
1 gem installed
Installing ri documentation for mysql2-0.3.2...
Enclosing class/module 'mMysql2' for class Result not known
Installing RDoc documentation for mysql2-0.3.2...
Enclosing class/module 'mMysql2' for class Result not known

$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)

私が見逃しているものは他にありますか?ありがとうございました。

4

5 に答える 5

9

これは恥ずかしいことですが、同じ問題を抱えている可能性のある他の人のために:

database.yml ファイルのスペルがすべて正しく、L や Q が転置されていないことを確認してください。

# Correct
development:
  adapter: mysql2

ではない:

# Incorrect
development:
  adapter: myslq2

私の OP の最後の行は、 myslq2アダプターが見つからないことについて不平を言っていることに注意してください。おそらく、誰かがそのプロジェクトのクローンを myslq2 という名前で作成できるかもしれません:)

于 2011-05-09T19:15:44.483 に答える
5

これをに追加する必要がありますGemfile

gem 'mysql2','0.2.7'

それからbundle install

また、mysql2 v0.2.x は Rails v3.0.x 以前で使用するためのものであり、mysql2 v0.3.x は Rails 3.1.x 以降で使用するためのものであることに注意してください ( mysql2 v0.3.x は同梱されていません)。 Rails 3.1 の一部になったため、activerecord アダプターはもう使用できません) 。

これmMysql2は、mysql 0.3.2 のタイプミスのバグでしょうか?

于 2011-05-06T16:16:23.230 に答える
1

私はこの解決策を見つけました、そしてそれは私のために働きました:

何らかの理由で、インストールが間違った場所を指していました。〜/ .profileまたは〜/ .bash_profileに以下を追加すると、問題が修正されます(これが、MySQLのインストール場所であると想定しています)。

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

新しいターミナルを開くと、準備が整います。

ソース:http ://alexbraunstein.com/2011/08/12/library-loaded-libmysqlclient-18-dylib/

于 2012-09-07T14:31:00.780 に答える
1

database.yml ファイルの「mysql」を「mysql2」に変更することで、この問題を修正しました。

「mysql」gem は ruby​​ 1.9 より前 (私が ruby​​ に入る前) に使用されていたと思います。したがって、Ruby 1.8 Rails プロジェクトは、Gemfile だけでなく、database.yml の「mysql」を「mysql2」に変更することも覚えておくことで修正される可能性があります。

于 2012-12-13T00:30:28.317 に答える
0

私はこの問題を抱えていました、そしてそれはアダプターを持っていることによって引き起こされました:mysqlがdatabase.yml。はい、する必要がありますadapter: mysql2。そのようにすべて良いです、そして、はい、私はsqlite3から切り替えていました。

于 2012-05-20T22:35:55.010 に答える