Railsアプリケーションをデプロイしています。これは私が現在行ったことです:
アプリケーションのビルド手順:
- git ハッシュタグによる git sync
- gem をアプリケーションの自己ディレクトリ (ベンダー/バンドル) にバンドルします。
- アセットをプリコンパイルします。
- アプリケーションを debian パッケージ (.deb) にビルドします。
- ターゲット マシンで、dpkg -i myapplication.deb を実行してインストールします。それは。
問題はステップ2です。
bundle package --allとbundle install --deploymentを実行した後、デフォルトの rubygems.org からではなく、git パスからの gem である vendor/bundle/ruby/1.9.1/gems/ にバンドルされているすべての gem ではありません。
➜ luna-server git:(v0.1.0) ✗ bundle show rails /Users/qichunren/code/work/luna-server/vendor/bundle/ruby/1.9.1/gems/rails-3.2.11 ➜ luna-server git:(v0.1.0) ✗ bundle show luna-channel /Users/qichunren/code/work/luna-server/vendor/cache/luna-channel-31bb309440e5
ビルドした Rails アプリケーションをターゲット マシンで実行すると、いくつかの gem がインストールされていないことが表示されます (例: luna-channel)。/vendor/bundle/ruby/1.9.1/gems/ にないため、バンドル インストールしてください。
バンドル キャッシュからターゲット バンドル ディレクトリにすべての gem を作成する方法はありますか?
私を助けてください。ありがとう。