Contao 4: Installation von Erweiterungen - Lokal
In diesem Artikel geht es darum, Erweiterungen lokal per Kopie oder Symlink zu installieren. Dies ist vor allem für eigene Bibliotheken die als Projektgrundlage dienen nützlich.
Wer den ersten Teil dieser Serie nicht gelesen hat, sollte dies nachholen. Der aktuelle Beitrag baut direkt darauf auf.
Wenn die Entwicklung entsprechend des ersten Teils durchgeführt wurde, sind eigentlich nur die beiden composer.json
interessant für die Installation. Die eine beschreibt unsere Erweiterung und ist in unserer Entwicklungsumgebnung unter src/Esit/NAMEderERWEITERUNG/composer.json
gespeichert. Ich nenne sie ab jetzt Quell-composer.json
. Die andere ist die composer.json
der Zielinstallation, in die unsere Erweiterung installiert werden soll. Ich nenne sie ab jetzt Ziel-composer.json
.
Quell-composer.json
Die Quell-composer.json
muss im Vergleich zum ersten Beitrag etwas angepasst werden. Unter anderem sollte eine Versionsnummer enthalten sein.
Ziel-composer.json
Die Ziel-composer.json
ist auch wieder eine globale, von Contao mitgebrachte composer.json
. Im Unterschied zu unserer Entwicklungsumgebung, wird hier aber konfiguriert welche Erweiterungen wir benötigen und wie diese bezoegen werden können. Im vorliegenden Fall ist dies relativ einfach, da sie auf unserem lokalen Rechner liegen.
Hier ist der Eintrag "esit/core": "@dev"
im Abschnitt require
neu (Zeile 21). Außerdem wird im Abschnitt repositories
festgelegt, das dort ein Paket zu finden ist (Zeile 23 - 29). Composer lädt von dort die composer.json
und schaut welches Paket und welche Version es ist. Wenn der Name mit einem im Abschnitt require
übereinstimmt und die Version passt, wird das Paket installiert. Die Abhängigkeiten für unser Paket werden natürichlich in der Quell-composer.json
definiert und entspechend berücksichtigt.
Wenn die Erweiterung noch nicht stable
ist, muss noch der Eintrag "minimum-stability": "dev"
eingefügt werden. Dies sollte aber nur bei einer lokalen Umgebung gemacht werden. Im Produktiveinsatz ist es mit Vorsicht zu genießen.
Nun reicht ein comoser update
um unser Paket zu installieren, oder ein Update durchzuführen.
Arten der lokalen Installation
Im vorliegenden Fall werden die Dateien (wenn möglich) per Symlink installiert. Dass heißt, alle Änderungen die wir in der Entwicklungsumgebung machen, sind sofort auch in allen Installationen, in denen wir unser Paket auf diese Art installiert haben wirksam.
Will man dies nicht, kann man einfach in der Ziel-composer.json
in Zeile 28, den Eintrag auf "symlink": false
ändern. Dann werden die Dateien unseres Pakets kopiert und wir müssen bei jeder Änderung in der Entwicklungsumgebung erst ein comoser update
durchführen, damit die Dateien erneut kopiert werden.
Kommentare
Einen Kommentar schreiben