2

私は Michal Hartl の有名な Rails チュートリアルを読んでいますが、この記事は私を混乱させています。新しいアプリがセットアップされるたびに、次のコマンドが実行されます。

$ bundle install --without production
$ bundle update
$ bundle install

installが2回実行される理由がよくわかりません。この 3 つのコマンドをこの順序で実行すると、どのような影響がありますか?

4

2 に答える 2

5

すべての gem もインストールされるため (最新バージョンに更新するだけでなく)、bundle install2 回実行する必要はありません。bundle updateあなたが言及したチュートリアルを読んでいませんが、おそらく2番目の目的は、install本番用に予約されているものを含むすべてのgemをインストールすることです.

2 番目の質問です。これら 3 つのコマンドの効果は何ですか。

  1. bundle install --without production

    • 本番用に予約されている gem を無視して、gemfile を検査します。
    • すべての依存関係を解決する
    • すべての gem と依存する gem をインストールする
    • 各 gem の正確なバージョンを Gemfile.lock に保存します。

  2. bundle update

    • gemfile を調べる
    • 各 gem の最新バージョンを使用し、Gemfile.lock を完全に無視して、すべての依存関係をゼロから解決します。
    • すべての gem と依存する gem をインストールする
    • 各 gem の正確なバージョンを Gemfile.lock に保存します。

  3. bundle install

    • これはプロダクション gem の最初の実行であるため、gemfile を調べてプロダクション gem の依存関係を解決します。
    • 他のすべての gem の正確なバージョンをインストールするには、Gemfile.lock を使用します。
    • すべての gem と依存する gem をインストールする
    • 各 gem の正確なバージョンを Gemfile.lock に保存します。

2 つのコマンドの詳細については、こちらこちらをご覧ください。

于 2013-08-14T17:46:10.987 に答える
-1

$ bundle install --without productionバンドラーが本番の gem をインストールできないようにします。また、ローカル リポジトリにも保存されるため、複数回実行する必要はありません。以降の の実行にはbundle installが含まれます--without production

bundle installGemfile から不足している gem のみをインストールbundle updateし、GemFile で指定されている最新バージョンにすべての gem を更新/インストールします。

于 2013-08-14T17:34:53.513 に答える