Heim Entwicklungswerkzeuge composer Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung

Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung

Oct 16, 2019 pm 04:41 PM
composer

In der folgenden Spalte des Composer-Tutorials wird Ihnen der Unterschied zwischen Composer.josn und Composer.lock sowie eine detaillierte Erklärung des Unterschieds zwischen Composer-Installation und Composer vorgestellt updata. Ich hoffe, es wird Freunden helfen, die es brauchen.

Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung

Problembeschreibung

Wir müssen häufig Erweiterungspakete zu bestehenden Projekten hinzufügen, manchmal aufgrund falscher Anleitungen in der Dokumentation Das folgende Bild stammt aus diesem Dokument:

Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung

composer update Dieser Befehl kann in unserer aktuellen Logik dem Projekt großen Schaden zufügen.

Da die Logik der Composer-Aktualisierung darin besteht, alle Erweiterungspakete gemäß den in Composer.json angegebenen Erweiterungspaketversionsregeln zu aktualisieren, werden beispielsweise alle Erweiterungspakete aktualisiert Das Projekt Monolog wurde verwendet und die Konfigurationsinformationen lauteten zu diesem Zeitpunkt

"monolog/monolog": "1.*",

Monolog Version 1.1 wurde installiert, und jetzt ist es mehr als einen Monat her Später ist Monolog 1.2. Nach dem Ausführen des Befehls wurde das Projekt noch nicht auf Version 1.2 getestet. Die Situation ist manchmal sehr instabil ein riesiges Projekt. Wenn Sie keine vollständigen Abdeckungstests für das Projekt schreiben, wissen Sie nicht, was kaputt ist.

Welcher Composer-Befehl sollte also verwendet werden? installieren, aktualisieren oder benötigen?

Als nächstes werden wir es einzeln erklären.

Einfache Erklärung

Composer-Installation – Wenn eine Composer.lock-Datei vorhanden ist, installieren Sie diese direkt, andernfalls installieren Sie das neueste Erweiterungspaket und die Abhängigkeiten von Composer.json;

Composer update – Von Composer .json werden die neuesten Erweiterungspakete und Abhängigkeiten installiert;

Composer-Update-Anbieter/-Paket – von Composer.json oder dem entsprechenden Paket konfigurieren und auf die neueste Version aktualisieren; Neu/Paket – Installation Neu/Paket hinzufügen, Sie können die Version angeben, z. B.: Composer benötigt neues/Paket ~2.5.

Prozess

Lassen Sie uns einige vorstellen tägliche Produktionsprozesse, um das Verständnis aller zu erleichtern.

Prozess 1: Neuer Projektprozess

Erstellen Sie „composer.json“ und fügen Sie das Erweiterungspaket hinzu, von dem es abhängt;

Führen Sie „composer install“ aus, um die Erweiterung zu installieren Paket und Composer.lock generieren;

Composer.lock an den Codeversionscontroller senden, z. B.: git

Prozess 2: Projektmitarbeiter installieren vorhandene Projekte

Führen Sie nach dem Klonen des Projekts „Composer Install“ direkt im Stammverzeichnis aus, um die angegebene Version des Erweiterungspakets und seine Abhängigkeiten von „composer.lock“ zu installieren.

Dieser Prozess eignet sich für die Bereitstellung einer Produktionsumgebung Code.

Prozess 3: Fügen Sie dem Projekt ein neues Erweiterungspaket hinzu

Verwenden Sie Composer, um ein Erweiterungspaket hinzuzufügen.

Senden Sie das aktualisierte Paket Composer.json und Composer.lock an den Codeversionscontroller, wie zum Beispiel: git;

Über die Composer.lock-Datei

Die Composer.lock-Datei speichert die Abhängigkeiten jedes Codes Der Versionsdatensatz (siehe Abbildung unten) wird an den Versionscontroller übermittelt und in Verbindung mit der Composer-Installation verwendet, um die Konsistenz der Codeversionen sicherzustellen, die in der Entwicklungsumgebung und Online-Produktionsumgebung aller Mitarbeiter im Team ausgeführt werden.

Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung

Über die Installationsmethode des Erweiterungspakets

Bereiten Sie dann das Hinzufügen eines Erweiterungspakets vor, installieren Sie es, aktualisieren Sie es und erfordern Sie alles Drei Befehle können zum Installieren von Erweiterungspaketen verwendet werden. Welches ist das richtige?

Die Antwort lautet: Verwenden Sie den Composer-Anforderungsbefehl

Nachdem Sie Composer.json manuell geändert haben, um das Erweiterungspaket hinzuzufügen, kann Composer Update New/Package außerdem verwendet werden, um das angegebene Erweiterungspaket zu aktualisieren , die auch korrekt installiert werden kann, es wird jedoch nicht empfohlen, diese Methode zu verwenden, da Sie, sobald Sie vergessen, den Namen des nachfolgenden Erweiterungspakets festzulegen, in einen Zustand des Untergangs geraten, also lassen Sie sich nicht in eine Falle.

Die oben genannten Konzepte sind für Anfänger oder Veteranen ziemlich verwirrend. Das Wichtigste, was Sie sich merken sollten, ist dieses Konzept:

Um dem ursprünglichen Projekt neue Erweiterungen hinzuzufügen, verwenden Sie den Composer-Befehl „require new/package“. installieren.

Wenn Sie eine Version hinzufügen müssen

Composer benötigt „foo/bar:1.0.0“

Aktualisieren Sie die angegebene Erweiterung auf die angegebene Version

Manchmal wurden dem vorherigen Erweiterungspaket neue Funktionen hinzugefügt. Wenn Sie dieses einzelne Erweiterungspaket auf eine bestimmte Version aktualisieren möchten, können Sie dazu auch require verwenden.

Wie im folgenden Beispiel müssen Sie „sami/sami“: „3.0.“ auf „sami/sami“: „3.2“ aktualisieren.

Ausführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-AktualisierungBefehlszeilenausführung:

vorbei!

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Unterschieds zwischen Composer.josn und Composer.lock sowie des Unterschieds zwischen Composer-Installation und Composer-Aktualisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Jun 03, 2024 pm 12:37 PM

Composer bietet erweiterte Funktionen, darunter: 1. Aliase: Definieren Sie praktische Namen für Pakete zur wiederholten Bezugnahme. 2. Skripte: Führen Sie benutzerdefinierte Befehle aus, wenn Sie Pakete installieren/aktualisieren, die zum Erstellen von Datenbanktabellen oder zum Kompilieren von Ressourcen verwendet werden , Zufriedenheitsbeschränkungen und Paketaliase lösen die unterschiedlichen Anforderungen mehrerer Pakete für dieselbe Abhängigkeitsversion auf, um Installationskonflikte zu vermeiden.

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Apr 28, 2024 pm 10:54 PM

So konvertieren Sie ein PHP-Array in ein Objekt: Verwenden Sie die Klasse stdClass, verwenden Sie die Funktion json_decode(), verwenden Sie eine Bibliothek eines Drittanbieters (z. B. die Klasse ArrayObject, die Bibliothek Hydrator).

PHP-Code-Versionskontrolle und Zusammenarbeit PHP-Code-Versionskontrolle und Zusammenarbeit May 07, 2024 am 08:54 AM

PHP-Code-Versionskontrolle: Es gibt zwei Versionskontrollsysteme (VCS), die üblicherweise in der PHP-Entwicklung verwendet werden: Git: verteiltes VCS, bei dem Entwickler Kopien der Codebasis lokal speichern, um die Zusammenarbeit und Offline-Arbeit zu erleichtern. Subversion: Zentralisiertes VCS, die einzige Kopie der Codebasis wird auf einem zentralen Server gespeichert und bietet so mehr Kontrolle. VCS hilft Teams, Änderungen zu verfolgen, zusammenzuarbeiten und auf frühere Versionen zurückzusetzen.

Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? May 01, 2024 am 10:48 AM

Durch die Verwendung des Redis-Cache kann die Leistung des PHP-Array-Pagings erheblich optimiert werden. Dies kann durch die folgenden Schritte erreicht werden: Installieren Sie den Redis-Client. Stellen Sie eine Verbindung zum Redis-Server her. Erstellen Sie Cache-Daten und speichern Sie jede Datenseite in einem Redis-Hash mit dem Schlüssel „page:{page_number}“. Rufen Sie Daten aus dem Cache ab und vermeiden Sie teure Vorgänge auf großen Arrays.

Wie verwende ich PHP CI/CD für eine schnelle Iteration? Wie verwende ich PHP CI/CD für eine schnelle Iteration? May 08, 2024 pm 10:15 PM

Antwort: Verwenden Sie PHPCI/CD, um eine schnelle Iteration zu erreichen, einschließlich der Einrichtung von CI/CD-Pipelines sowie automatisierten Test- und Bereitstellungsprozessen. Richten Sie eine CI/CD-Pipeline ein: Wählen Sie ein CI/CD-Tool aus, konfigurieren Sie das Code-Repository und definieren Sie die Build-Pipeline. Automatisierte Tests: Schreiben Sie Unit- und Integrationstests und verwenden Sie Test-Frameworks, um das Testen zu vereinfachen. Praktischer Fall: Verwendung von TravisCI: Installieren Sie TravisCI, definieren Sie die Pipeline, aktivieren Sie die Pipeline und sehen Sie sich die Ergebnisse an. Implementieren Sie Continuous Delivery: Wählen Sie Bereitstellungstools aus, definieren Sie Bereitstellungspipelines und automatisieren Sie die Bereitstellung. Vorteile: Verbessern Sie die Entwicklungseffizienz, reduzieren Sie Fehler und verkürzen Sie die Lieferzeit.

Wartung und Aktualisierung der PHP-Webservice-Entwicklung und des API-Designs Wartung und Aktualisierung der PHP-Webservice-Entwicklung und des API-Designs May 06, 2024 pm 02:57 PM

Um PHP-Webdienste und APIs zu warten und zu aktualisieren, müssen die folgenden Praktiken implementiert werden: Aktualisieren Sie Abhängigkeiten, um die neuesten Sicherheitspatches sicherzustellen. Verfolgen Sie Codebasisänderungen und arbeiten Sie mithilfe der Versionskontrolle an der Entwicklung zusammen. Automatisierte Tests zur Überprüfung von Updates wirken sich nicht auf die Funktionalität aus. Die kontinuierliche Integration gewährleistet die Codevalidierung durch automatisierte Prozesse. Protokollierung und Überwachung helfen bei der Identifizierung und Lösung von Problemen. Aktualisieren Sie Sicherheitspatches immer, um Schwachstellen zu vermeiden.

Visualisierungstechnologie der PHP-Datenstruktur Visualisierungstechnologie der PHP-Datenstruktur May 07, 2024 pm 06:06 PM

Es gibt drei Haupttechnologien zur Visualisierung von Datenstrukturen in PHP: Graphviz: ein Open-Source-Tool, das grafische Darstellungen wie Diagramme, gerichtete azyklische Diagramme und Entscheidungsbäume erstellen kann. D3.js: JavaScript-Bibliothek zum Erstellen interaktiver, datengesteuerter Visualisierungen, zum Generieren von HTML und Daten aus PHP und zum anschließenden Visualisieren auf der Clientseite mithilfe von D3.js. ASCIIFlow: Eine Bibliothek zur Erstellung textueller Darstellungen von Datenflussdiagrammen, geeignet zur Visualisierung von Prozessen und Algorithmen.

See all articles