web-dev-qa-db-ja.com

composer updateとcomposer installの違いは何ですか?

composer updatecomposer installの違いは何ですか?

127

作曲家の更新

composer updateは、composer.jsonで指定されている依存関係を更新します

たとえば、このパッケージを依存関係として必要とする場合:

"mockery/mockery": "0.9.*",

実際にパッケージの0.9.1バージョンをインストールしている場合、composer updateを実行すると、このパッケージがアップグレードされます(たとえば、既にリリースされている場合は0.9.2に)

詳細composer updateは:

  • composer.jsonを読む
  • composer.jsonで不要になったインストール済みパッケージを削除します
  • 必要なパッケージの最新バージョンの可用性を確認します
  • パッケージの最新バージョンをインストールします
  • composer.lockを更新して、インストール済みパッケージのバージョンを保存します

作曲家のインストール

composer installは何も更新しません。 composer.lockファイルで指定されているすべての依存関係をインストールするだけです

詳細に:

  • composer.lockファイルが存在するかどうかを確認します(存在しない場合は、composer-updateを実行して作成します)。
  • composer.lockファイルを読み取る
  • composer.lockファイルで指定されたパッケージをインストールします

いつインストールし、いつ更新するか

  • composer updateは主に「開発フェーズ」で使用され、composer.jsonファイルで指定した内容に従ってプロジェクトパッケージをアップグレードします。

  • composer installは主に「展開フェーズ」で使用され、composer updateによって作成されたcomposer.lockファイルに保存されている同じ依存関係を使用して、実稼働サーバーまたはテスト環境にアプリケーションをインストールします。

225
Moppo

composer installを実行すると、ロックファイルが検索され、含まれているものがインストールされます。見つからない場合は、composer.jsonが読み取られ、その依存関係がインストールされ、ロックファイルが生成されます。

composer updateを実行すると、単にcomposer.jsonが読み取られ、依存関係がインストールされ、ロックファイルが更新されます(または新しいロックファイルが作成されます)。

52
Tim Sheehan

composer install

  1. composer.lockが存在する場合。
    • composer.lockファイルから依存関係を処理およびインストールします。
  2. composer.lockが存在しない場合notが存在します。
    • composer.jsonからパッケージのインストールを処理します。
    • インストールされたパッケージに基づいてcomposer.lockファイルを作成します。

として:composer help install

Installコマンドは、現在のディレクトリからcomposer.lockファイルを読み取り、処理し、そのファイルに記載されているすべてのライブラリと依存関係をダウンロードしてインストールします。ファイルが存在しない場合は、composer.jsonを探して同じことを行います。


composer update

  1. composer.jsonファイルから依存関係を処理します(インストール、更新、削除)。
  2. 変更に応じてcomposer.lockファイルを作成または更新します。

として:composer help update

更新コマンドは、現在のディレクトリからcomposer.jsonファイルを読み取り、処理し、すべての依存関係を更新、削除、またはインストールします。


参照: 作曲者:ロックファイルのすべて

17
kenorb

composer updatecomposer installの最良の違い

作曲家のインストール

依存関係を追加するには、composer.jsonファイルに手動で追加する必要があります。

Composer.lockファイルが存在する場合、このファイルに指定されているものを正確にインストールします

  • それ以外の場合は、composer.jsonファイルを読み取り、インストールする必要がある依存関係を確認します
  • Composer.lockにプロジェクトの情報(インストール済みの依存関係)を記述します

このコマンドで更新されるコンポーネントはありません。

作曲家の更新

依存関係を追加または削除するには、composer.jsonファイルに手動で追加する必要があります

  • Composer.lockファイルは無視されます
  • composer.jsonファイルの依存関係がインストールおよび更新されます(依存関係がインストールされていない場合はダウンロードされます)

できない場合(または実際に簡単なライブラリの追加または削除方法がわからない場合は、ファイルのrequireプロパティに依存関係の名前とバージョンを追加するだけです)composer.jsonファイルを手動で変更するか、代わりにコマンドラインを使用することをお勧めします。composerには、このための特別な機能があります。

作曲家が必要

たとえば、コマンドラインで依存関係を追加する場合は、単に実行します

composer require twig/twig

  • composer.jsonファイルは自動的に変更され、新しい依存関係が追加されます
  • 依存関係はプロジェクトにダウンロードされます

composer remove

未使用の依存関係を削除する場合は、単純に実行します:

composer remove twig/twig --update-with-dependencies

  • Twigはすべての依存関係とともに削除されます
2
Mayank Dudakiya