この問題はベルを鳴らしますが、インターネットと私の記憶を掘り下げる代わりに、私はちょうど次のことを試みました:最新のmysql2
をインストールします 0.3シリーズ(執筆時点では0.3.20)を作成し、アプリケーション用にバンドルします。
問題は、最新のmysql2
のようです gemバージョン0.4はRails3と互換性がありません。
gemのバージョンは変更できず、本番環境と同じバージョンが必要です。これを行うには、Gemfile.lock
をコピーするだけです。 本番サーバーからのファイルを、Gemfile
とは別にローカルフォルダーに配置します。 、bundle install
を実行します コマンド。
Gemfile
の場合は注意してください 指定:
gem 'mysql2', '> 0.3'
次に、Bundlerは0.n
に一致する最新バージョンをインストールします ここで、n >= 3
。これを書いている時点では、Bundlerは0.4
を取得しています。 Railsバージョンと互換性のないバージョン(BundlerはGemfile
からそれを推測できません )。回避策は、Gemfile
のコピーを変更することです。 (そしてそれをあなたのプロジェクトにコミットするのは良い考えかもしれません):
gem 'mysql2', '> 0.3.13' # put here the actual version used in production
そうすることで、Bundlerは0.3.n
に一致するバージョンをインストールします 、n >= 13
。