開発マシン (Windows 7) では特定の gem (pg) バージョン (0.14.0-x86-mingw32) をインストールする必要があるが、実稼働サーバー (Debian) ではインストールする必要があることを Gemfile で定義できるようにしたい通常版。
Gemfile でグループを定義しようとしましたが、これが Gemfile.lock に反映されていないようbundle install
で、開発マシン (Windows) で実行すると、Gemfile.lock に Windows バージョンの gem がリストされます。次に、Capistrano でデプロイしようとすると、--deployment
引数 (and --without groups-i-want-to-exclude
) を指定して bundle が実行されます。これは、Gemfile.lock を使用し、リストされているバージョンが Windows 用であるため、pg gem をまったくインストールしません。
実稼働サーバーで Gemfile.lock を手動で編集する必要はありません。これは一般的に悪い考えであり、レポから再デプロイするたびに、Windows 固有のバージョンに戻ってしまうためです。また、 --deployment オプション (私の現在のソリューション) をオフにしたくありません。これは、この状況でバンドラーが使用されることを意図したものではないためです。