composer installとcomposer updateの違い
2042 ワード
しかし、どのように「彼らをインストールする」かについては、初心者には分からないかもしれません.ネット上の答えは
まず明らかにしなければならないことは、すべての依存が
これは、地元に
では、いつ
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
phpが私が依存を修正したことをどのように知っているのか、あるいは
この時、あなたは
他のインストール済みの依存に影響を与えたくない場合は、変更した部分だけを更新する場合は、ホワイトリストを指定して更新する範囲を決定することができます.たとえば、
転載先:https://xia.moe/archives/introduce-to-composer-install-and-update/
composer install
、composer update
とあり、どちらも依存をダウンロードしてインストールすることに成功したようだが、彼らはいったいどんな違いがあるのだろうか.まず明らかにしなければならないことは、すべての依存が
composer.json
に定義されており、マニュアルには基本的な使い方と例が示されています.バージョン番号を指定するときに、正確なバージョンを指定する必要はありません.同じcomposer.json
に対して、私たちが異なる時点で引き出した依存ファイルが異なる可能性があります(composerは条件を満たす場合に最新の依存を引き出すため)、いくつかの異常な状況を引き起こす可能性があります.composer update
とcomposer install
はまさにこの問題を解決するために現れたものである.composer update
を実行すると、composerはcomposer.json
で指定された依存を読み取り、分析し、条件に合致する最新バージョンの依存を引き出します.その後、彼は引き出した依存をvendorディレクトリの下に入れ、引き出した依存の正確なバージョン番号をcomposer.lock
ファイルに書き込む.composer install
が実行することは非常に類似しており、最初のステップでのみ差があります.ローカルにcomposer.lock
がすでに存在する場合、composer.lock
ではなくcomposer.json
を読み取り、これを基準にダウンロード依存します.あなたが地元にcomposer.lock
がないとき、そのしたことはcomposer update
とは違いません.これは、地元に
composer.lock
があれば、どのくらい経っても同じ依存になることを保証することができます.プロジェクトのバージョン管理に組み込むと、プロジェクトのすべての人、すべてのコンピュータ、どのシステムでも、潜在的な依存が導入に与える影響を減らすために、同じ依存を引き出すことができます.もちろん、あなたが使用すべきコマンドはcomposer install
であることを覚えておいてください.では、いつ
composer update
を使うべきですか?依存関係を変更すると、依存が追加されても、依存バージョンが変更されても、依存が削除されても、composer install
を実行すると変更はありませんが、警告メッセージが表示されます.Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
phpが私が依存を修正したことをどのように知っているのか、あるいは
composer.lock
が期限切れになったことを知りたい人もいるかもしれません.簡単です.composer.lock
を開くと、hashフィールドが表示されます.これは、当時対応していた依存ハッシュ値です.値が一致しなければ、変更が発生したことは自然にわかります.この時、あなたは
composer update
を通じてあなたの依存を更新するべきです.他のインストール済みの依存に影響を与えたくない場合は、変更した部分だけを更新する場合は、ホワイトリストを指定して更新する範囲を決定することができます.たとえば、
composer update monolog/monolog
はmonolog/monologという依存だけを更新し、他の依存は更新があっても無視されます.転載先:https://xia.moe/archives/introduce-to-composer-install-and-update/