Frage

Ich versuche diesen Teil zu verstehen: http://getcomposer.org/doc/02-libraries.md#lock-file

diese Sperrdatei hat keine Auswirkungen auf andere Projekte, die davon abhängen.Es hat nur Auswirkungen auf das Hauptprojekt "

Bedeutet das, dass Projekt P, wenn Projekt P von Bibliothek A und Bibliothek A von Bibliothek B Version 1.3 abhängt, sich nicht um die Version von Bibliothek B kümmert und stattdessen möglicherweise B 1.4 installiert?Was ist dann der Sinn?

Oder bedeutet es das Gegenteil, wie man es von einem Abhängigkeitsmanager erwarten würde?

War es hilfreich?

Lösung

Komponistenabhängigkeiten sind definiert in composer.json.Wenn Sie composer install zum ersten Mal ausführen oder wenn Sie composer update ausführen, aktualisieren Sie eine Sperrdatei mit dem Namen composer.lock erstellt werden.

Die zitierte Dokumentation bezieht sich nur auf die Sperrdatei.Wenn Ihr Projekt P von Bibliothek A und A von B v1.3 abhängt.***, dann, wenn A eine Sperrdatei enthält, die besagt, dass jemand "composer update" ausgeführt hat, was zur Installation von B v1.3.2 führte, dann könnte die Installation von A in Ihrem Projekt P immer noch 1.3.3 installieren, da die composer.json (nicht .lock!) definierte die Abhängigkeit auf 1.3.*.

Sperrdateien enthalten immer genaue Versionsnummern und sind nützlich, um die Version, mit der Sie getestet haben, an Kollegen weiterzugeben oder wenn Sie eine Anwendung veröffentlichen.Für Bibliotheken die Abhängigkeitsinformationen in composer.json ist alles was zählt.

Andere Tipps

composer.lock zeichnet die genauen Versionen auf, die installiert sind.Damit Sie mit Ihren Mitarbeitern in den gleichen Versionen sind.

komponist installieren

  • Überprüfen Sie auf composer.lock Datei
  • Wenn nicht, automatisch generieren composer.lock datei (Mit composer update)
  • Installieren Sie die angegebenen Versionen, die in der composer.lock Datei

komponisten-Update

  • Gehen Sie durch die composer.json Datei
  • Prüfen Sie die Verfügbarkeit neuerer (neuester) Versionen anhand der genannten Versionskriterien (z.1.12.*)
  • Installieren Sie die neuesten möglichen (gemäß oben) Versionen
  • Update composer.lock datei mit installierten Versionen

Also in einer einfachen Checkliste.

Wenn Sie alle Mitarbeiter in den gleichen Versionen wie Sie behalten möchten...

  • Verpflichten Sie Ihre composer.lock zu GIT (oder vcs, die du hast)
  • Bitten Sie andere, diese Version von zu erhalten composer.lock Datei
  • Immer verwenden composer install um die richtigen Abhängigkeiten zu erhalten

Wenn Sie die Systemabhängigkeiten auf neue Versionen aktualisieren möchten

  • Überprüfen Sie den Komponisten.json-Datei für Versionsspezifikationen.
  • Mach einen composer update
  • Dies wird die composer.lock datei mit den neuesten Versionen
  • Übergeben Sie es an das GIT (oder vcs)
  • Bitten Sie andere, es zu bekommen und composer install

Es folgt eine sehr gute Lektüre
https://blog.engineyard.com/2014/composer-its-all-about-the-lock-file

Genieße die Kraft von composer.lock feile!

Der Sinn der Sperrdatei besteht darin, die genauen Versionen aufzuzeichnen, die installiert sind, damit sie erneut installiert werden können.Dies bedeutet, dass, wenn Sie eine Versionsspezifikation von 1 haben.* und Ihr Mitarbeiter läuft composer update das installiert 1.2.4 und schreibt dann den Komponisten fest.datei sperren, wenn Sie composer install, erhalten Sie auch 1.2.4, auch wenn 1.3.0 veröffentlicht wurde.Dies stellt sicher, dass jeder, der an dem Projekt arbeitet, genau die gleiche Version hat.Lesen Sie hier mehr Komponist:Es geht nur um die Sperrdatei

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top