回答:
作曲家の更新
composer update で指定されているように依存関係を更新します composer.json 
たとえば、このパッケージを依存関係として必要とする場合:
"mockery/mockery": "0.9.*",
実際に0.9.1パッケージのバージョンをインストールした場合、実行composer updateするとこのパッケージがアップグレードされます(たとえば0.9.2、すでにリリースされている場合は)
詳細composer updateは:
composer.jsoncomposer.jsoncomposer.lockインストールされたパッケージのバージョンを保存するための更新作曲家のインストール
composer install何も更新しません。composer.lockファイルに指定されているすべての依存関係をインストールします
詳細に:
composer.lockファイルが存在するかどうかを確認します(存在しない場合は、実行composer-updateして作成します)composer.lockファイルを読むcomposer.lockファイルで指定されたパッケージをインストールしますインストールするタイミングと更新するタイミング
composer update主に「開発フェーズ」で使用され、composer.jsonファイルで指定した内容に従ってプロジェクトパッケージをアップグレードします。
composer install 主に「デプロイ段階」で使用され、composer updateによって作成されたcomposer.lockファイルに格納されている同じ依存関係を使用して、本番サーバーまたはテスト環境にアプリケーションをインストールします。
composer global updateローカルシステムのグローバルリポジトリの依存関係を更新します(COMPOSER_HOME
                    composer updateローカルシステムで実行してアプリケーションをテストし、次にcomposer.lockを運用サーバーにアップロードして実行する必要がありますcomposer install
                    composer installcomposer.lockが存在しません。
composer.lockファイルから依存関係を処理してインストールします。composer.lockんではないが存在します。
composer.json。composer.lockインストールされたパッケージに基づいてファイルを作成します。に従ってcomposer help install::
installコマンド
composer.lockは、現在のディレクトリからファイルを読み取り、それを処理して、そのファイルで説明されているすべてのライブラリと依存関係をダウンロードしてインストールします。ファイルが存在しない場合composer.jsonは、同じことを探して実行します。
composer updatecomposer.jsonファイルの依存関係を処理します(インストール、更新、削除)。composer.lock変更に応じてファイルを作成または更新します。に従ってcomposer help update::
updateコマンド
composer.jsonは、現在のディレクトリからファイルを読み取って処理し、すべての依存関係を更新、削除、またはインストールします。
間の最良の違いcomposer updateとcomposer install
作曲家のインストール
依存関係を追加するには、手動でcomposer.jsonファイルに追加する必要があります。
composer.lockファイルが存在する場合は、このファイルに指定されているものを正確にインストールします
このコマンドで更新されるコンポーネントはありません。
作曲家の更新
依存関係を追加または削除するには、手動でcomposer.jsonファイルに追加する必要があります
できない場合(または実際に簡単なライブラリの追加または削除方法がわからない場合は、ファイルのrequireプロパティに依存関係とバージョンの名前を追加するだけ)composer.jsonファイルを手動で変更するか、代わりにコマンドラインを使用することをお勧めします。composerには、このための特別な機能があります。
作曲家が必要
たとえば、コマンドラインで依存関係を追加したい場合は、単に実行します
composer require twig/twig
作曲家削除
未使用の依存関係を削除したい場合は、単純に実行します。
composer remove twig/twig --update-with-dependencies
if(composer.lock existed){
   installs dependency with EXACT version in composer.lock file
} else {
   installs dependency with LATEST version in composer.json
   generate the composer.lock file
}
composer update = remove composer.lock -> composer install
2つのコマンドが必要な理由。composer.lockで説明できると思います。
想像して、私たちはしないでください持っているcomposer.lockとしてcomposer.json、そこに依存性があります"monolog/monolog": "1.0.*"か"monolog/monolog": "^1.0"。
次に、いくつかのケースがあります  
composer install時間が異なる場合、依存関係のバージョンが異なる場合があります。composer.jsonなどで常にEXACTバージョンを使用するとどうなり"monolog/monolog": "1.0.1"ますか?依存関係のメインバージョンを追跡するだけで、依存関係の依存関係のバージョンを追跡することはできないため、
依然として必要です。composer.lockcomposer.json
依存関係のすべての依存関係がEXACTバージョンも使用している場合はどうなりますか?
EXACTバージョンを使用するすべての依存関係から始めて、気にしないと想像してみてくださいcomposer.lock。ただし、数か月後、新しい依存関係を追加(または古い依存関係を更新)し、この依存関係の依存関係はEXACTバージョンを使用しません。それからcomposer.lock、最初は気にかける方がいいです。
その上、正確なバージョンよりもセマンティックバージョンの利点があります。開発中に依存関係を何度も更新する可能性があり、ライブラリにはバグ修正などの小さな変更が含まれていることがよくあります。その後、セマンティックバージョンを使用する依存関係をアップグレードする方が簡単です。