64

次の違いを教えてください。

$Bundle update

$Bundle install
4

2 に答える 2

87

bundle updateGemfile で指定した gemをbundle installインストールできますが、gems にはありません。

しかしbundle update、アップグレードのためにもう 1 つのことを行います。

  1. Gemfile で指定された gem にバージョンがない場合は、最新のものにアップグレードされます。
  2. Gemfile で指定された gem が でバージョン管理されている場合、最終桁~>の最新のパッチ バージョンにアップグレードされます。

    たとえば、Gemfile に gem があるとします。

    'foo_gem', '~> 2.1.0'
    

    bundle update2.1.x の新しいバージョンがクラウドで利用可能かどうかを確認します。現在のバージョンが 2.1.2 で、クラウドの最新バージョンが 2.1.5 だとすると、2.1.5 がインストールされます。しかし2.2.6、最新の場合、何もしません。

私の意見ではより良い練習

  1. などの重要な gem には必ずバージョンを追加してrailsください。

  2. ほとんどの場合、 bundle install(またはbundleデフォルトである)に固執します。本当に必要で、結果に対して完全に準備ができている場合にinstallのみ実行してください。bundle update

于 2013-05-11T11:08:46.380 に答える
6

Bundle Updates 指定された gem (何も指定されていない場合はすべての gem) で、Gemfile.lock で指定された以前にインストールされた gem を無視します。一般に、bundle installマシン間でまったく同じ gem とバージョンをインストールするために使用する必要があります。

于 2013-05-11T09:32:32.697 に答える