Heim >Entwicklungswerkzeuge >composer >Einführung in Composer-Befehle: Installieren und Aktualisieren und ihre Unterschiede
Composer ist ein Abhängigkeitsmanagement-Tool für PHP. Sie können damit Codebibliotheken deklarieren, von denen Ihr Projekt abhängt, und diese für Sie in Ihrem Projekt installieren.
Allerdings wissen Anfänger möglicherweise nicht, wie man sie „installiert“.
Einige Antworten im Internet sagen Composer-Installation, andere sagen Composer-Update, und beide scheinen in der Lage zu sein, die Abhängigkeiten erfolgreich herunterzuladen und zu installieren. Was ist also der Unterschied zwischen ihnen?
Verwandte Empfehlungen: „Composer-Tutorial“
Das erste, was Sie verstehen müssen, ist, dass alle Abhängigkeiten in „composer.json“ definiert sind, einige grundlegende Verwendungszwecke und Beispiele finden Sie im Handbuch. Möglicherweise ist Ihnen aufgefallen, dass wir bei der Angabe einer Versionsnummer nicht unbedingt eine genaue Version angeben. Dann kann es vorkommen, dass für dieselbe Composer.json die Abhängigkeitsdateien, die wir zu unterschiedlichen Zeiten abrufen, unterschiedlich sind (da Composer die neueste Abhängigkeit abruft, wenn die Bedingungen erfüllt sind), was zu einigen ungewöhnlichen Umständen führt.
Composer-Update und Composer-Installation scheinen dieses Problem zu lösen.
Wenn Sie das Composer-Update ausführen, liest Composer die in Composer.json angegebenen Abhängigkeiten, analysiert sie und ruft die neueste Version der Abhängigkeiten ab, die die Bedingungen erfüllen. Anschließend legt er die gezogenen Abhängigkeiten im Vendor-Verzeichnis ab und schreibt die genauen Versionsnummern aller gezogenen Abhängigkeiten in die Datei „composer.lock“.
Die Funktionsweise der Composer-Installation ist sehr ähnlich, der einzige Unterschied besteht im ersten Schritt. Wenn Sie bereits lokal über eine Kopie von „composer.lock“ verfügen, wird „composer.lock“ anstelle von „composer.json“ gelesen und als Standard zum Herunterladen von Abhängigkeiten verwendet. Wenn Sie „composer.lock“ nicht lokal haben, unterscheidet sich die Funktionsweise nicht von der „Composer Update“-Aktualisierung.
Das bedeutet, dass Sie, solange Sie lokal eine Kopie von Composer.lock haben, garantieren können, dass Sie dieselben Abhängigkeiten abrufen können, egal wie lange es dauert. Und wenn Sie es in die Versionskontrolle Ihres Projekts integrieren, können Sie sicherstellen, dass jeder und jeder Computer in Ihrem Projekt, unabhängig vom System, genau die gleichen Abhängigkeiten abrufen kann, um potenzielle Auswirkungen auf die Bereitstellung zu reduzieren. Denken Sie natürlich daran, dass der Befehl, den Sie verwenden sollten, Composer Install ist.
Wann sollten Sie Composer Update verwenden? Wenn Sie Ihre Abhängigkeiten ändern, unabhängig davon, ob Sie eine neue Abhängigkeit hinzufügen, die Abhängigkeitsversion ändern oder eine Abhängigkeit löschen, werden zu diesem Zeitpunkt keine Änderungen vorgenommen, wenn Sie die Composer-Installation ausführen. Sie erhalten jedoch eine Warnmeldung
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.
Einige Leute sind vielleicht neugierig, woher PHP weiß, dass ich die Abhängigkeit geändert habe oder dass Composer.lock abgelaufen ist. Es ist ganz einfach. Wenn Sie Composer.lock öffnen, finden Sie darin ein Hash-Feld, das den Hash-Wert der entsprechenden Abhängigkeit zu diesem Zeitpunkt darstellt. Wenn die Werte inkonsistent sind, wissen Sie natürlich, dass eine Änderung stattgefunden hat.
Zu diesem Zeitpunkt sollten Sie Ihre Abhängigkeiten über das Composer-Update aktualisieren.
Wenn Sie keine Auswirkungen auf andere installierte Abhängigkeiten haben und nur die von Ihnen geänderten Teile aktualisieren möchten, können Sie den Umfang des Updates durch Angabe einer Whitelist festlegen. Beispielsweise aktualisiert Composer Update Monolog/Monolog nur Monolog/. Monlog ist eine Abhängigkeit und andere Abhängigkeiten werden ignoriert, selbst wenn sie aktualisiert werden.
Das obige ist der detaillierte Inhalt vonEinführung in Composer-Befehle: Installieren und Aktualisieren und ihre Unterschiede. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!