0

MySQL への接続中にいくつかのエラーが発生し、それを修正するために mysql2 gem をアップグレードしました。

次のコマンドを実行して、mysql2 をインストールしました。

ruby install mysql2

そして今、「宝石リスト」はこの宝石を示しています:mysql2 (0.3.2)

しかし、サーバーがこのエラーを出すので、それはまだ私のアプリケーション環境の一部ではないと思います:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter)

私は RVM を持っており、バンドラーを使用してこのアプリケーションの gemset を作成しました。このアプリケーションの gemset に mysql2 を追加するにはどうすればよいですか?

これは私のgemfileです:

source 'http://rubygems.org'

gem 'rails', '3.0.7'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'mysql2' , '0.3.2' 

そして、これは私のMySQLアダプタのバージョンです:

$bundle show mysql2
/home/agenadinik/workspace/udfr/mysql2/ruby/1.9.1/gems/mysql2-0.3.2

また

$ rvm gemdir /home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: 警告: パス内の安全でない世界の書き込み可能なディレクトリ /home/agenadinik、モード 040777 /home/agenadinik/.rvm/宝石/ルビー-1.9.2-p180

4

3 に答える 3

7

mysql2 バージョン 0.3.x は Rails バージョン 3.1.x 未満では使用できないことに注意してください。Rails 3.0.x 以下を使用していると仮定します (したがって、mysql2 バージョン 0.2.x を使用する必要があります)。

mysql2 を使用するように gemset と Gemfile をセットアップする方法の例を次に示します。

~/code/myapp $ rvm gemset create myapp
~/code/myapp $ rvm use @myapp
<<<<<Edit the Gemfile and add the line gem "mysql2","0.2.7" then save and exit editor.>>>>>
~/code/myapp $ bundle install
~/code/myapp $ bundle show mysql2
<<<<<Output should be similar to: /home/<your-name>/.rvm/gems/ruby-<some-version>@myapp/gems/mysql2-0.2.7>>>>>
于 2011-05-03T00:18:14.803 に答える
3

Bundler を使用している場合は、追加する必要があります

gem "mysql2"

あなたGemfileに、次に実行しますbundle install

于 2011-05-03T00:14:26.180 に答える
0

Rails> = 3.2.0では、古いバージョンのバンドラーを使用している場合にこれが表示されます。バンドラーを>=1.1.1に更新します:

gem update bundler

これを行ったら、gemを更新します。

bundle install
于 2012-03-16T15:09:29.547 に答える