この問題はベルを鳴らしますが、インターネットと私の記憶を掘り下げる代わりに、私はちょうど次のことを試みました:最新の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 。