1

mysql2Capistranoを使用して、アダプターを使用するRails3.2.1アプリをデプロイします。

アプリはWindowsでローカルに正常に動作していますが、Linuxサーバーにデプロイしようとすると、Capistranoは次のエラーをスローします。

Please install the mysql2 adapter: gem install activerecord-mysql2-adapter (mysql2 is not part of the bundle. Add it to Gemfile.)

GITでGemfile.lockを追跡していますが、これに気づいたことに注意してください。

...
mysql2 (0.3.11-x86-mingw32)
...

ロックファイルは問題のないバージョンをロックしましたが、Linuxでは動作しない可能性のあるWindowsバージョン(x86-mingw32)をロックしたと思います。

誰かが同じ問題を抱えていましたか?Gemfile.lockは推奨されていないため、追跡を解除したくありません。

deploy.rbは次のようなものです:

require "bundler/capistrano"
load "deploy/assets"

... configuration here ...

PS私はまた、この部分「x86-mingw32」でロックされている他の宝石に気づきました。bcrypt-ruby

4

1 に答える 1

0

Gemfile.lock に「mingw32」が含まれる gem について心配する必要はありません。Gemfile を見てみましょう。次の行はありますか?

gem 'mysql2'

これを踏まえて、Linux サーバーで実行bundle installしましたか (または、この機能を capistrano レシピに追加しましたか?)

ところで、Windows 固有の gem があり、それらがこのコンテキストでのみ読み込まれるようにしたい場合は、次の条件を使用します。

platforms :mswin, :mingw do
  # placeholder for gems in a windows environment
end
于 2012-11-12T22:49:03.500 に答える