2012-02-15 8 views
0

かなり基本的な質問ですが、デプロイメントの状況でBundlerをどのように使用するのが最適かを理解しようとしています。デプロイメントでBundlerを使用する

私は約20の依存する宝石を持つSinatraアプリケーションに取り組んでいます。開発時には、アプリケーション用のカスタムgemsetを使用してRVMを使用しています.を実行して、gemfileに従ってgemsetを更新します。

デプロイメントに関しては(現在は手動で、カピストラノのようなツールを使用する前にすべての機能が理解できるので)、私はbundle install --developmentを正しく実行する必要がありますか?これは、宝石をダウンロードし、vendor/bundleに配置します。

私の質問は他に何が必要ですか?私はサーバ上でUnicornを使用しています - 私はただbundle exec unicorn ...を実行して、すべてがうまくいきますか? (つまり、bundlerがベンダーのディレクトリを見つけてそこから宝石を使用していますか?)

unicornは、すべてのアプリケーションが共有するサーバー上のアプリケーションまたは別の「システム」宝石でなければなりませんか?

答えて

0

あなたは--deploymentキー、ない--developmentが必要になります。最初の実行バンドラでhttp://gembundler.com/man/bundle-install.1.html#DEPLOYMENT-MODE

は.bundleディレクトリに設定を作成します。プロジェクトのディレクトリにbundle configまたはちょうどcat .bundle/configを実行して確認できます。だからbundle exec unicornは、宝石がどこにインストールされているかをバンドラーが知っているので十分です。開発マシンでは、 - pathキーを使用して任意のディレクトリに宝石をインストールすることもできます。詳細については、バンドルインストールのマンページ(上記のリンクまたはbundle help install)を参照してください。

+0

私の悪い、私は実際に配置を入力することを意味します。 'bundle exec'が私が期待したことを実行してローカルプロジェクトの宝石を探していることを確認してくれてありがとう。 – Martin

関連する問題