Oxid 6.4 CE mit vendor/bin/* installieren

Hallo,

und zwar habe ich OXID 6.4 CE mit ddev und docker lokal laufen. Dabei pushe ich auch den vendor-Ordner mit ins GIT und das Deployment erfolgt dann so auch auf live. Das ist umständlich, weil ich bei Konfiguration oder Installationsänderungen stets den vendor-Ordner ins GIT hinzufügen muss.

Ich nutze hierbei TYPO3.surf, weil es für mich am Verständlichsten war und ich auch noch ein TYPO3 habe. Damit kann ich aber auch ein OXid deployen. Funktioniert ohne Probleme. In der surf-Datei versuche ich aber nun, wie auch bei TYPO3, den vednor-Ordner über composer auf live zu installieren. Jedoch habe ich durch die Doku, oder meine Unkenntnis, Schwierigkeiten, dass hinzubekommen.

Dabei habe ich folgende Doku (Install OXID eShop compilation on servers, where Composer is not available — OXID eShop developer documentation 6.4.0 documentation) gefunden und hatte vendor/bin/oe-eshop-demodata_install probiert. Aber der vendor-Ordner legte sich auf live nicht an.

Was mache ich falsch?

Hallöchen,

Also das Typo3.surf setup kenne ich nicht. Aber generell reicht es die composer.json abzulegen und composer update —nodev aufzurufen, um den vendor Ordner anzulegen und zu füllen. Danach sind die Scripte zur Steuerung von OXID verfügbar.

Grüße,
Thorsten

Das ist für Entwicklungsumgebungen ausreichend, in einer Produktivumgebung sollte eine composer.lock vorhanden sein und mit dem Befehl “composer install” ausgeführt werden.

Allerdings musst du sicherstellen, dass composer 2.2 auf dem Server installiert ist und bei dem Deployment auch die einzelnen Komponenten vom vendor Verzeichnis in das source Verzeichnis kopiert werden.

Das ist nicht sonderlich elegant und in neuen Versionen auch schon verbessert. Ich bin dabei verblieben alles in Git zu verwalten, dann läuft das Deployment stabiler und es gibt eine potentielle Fehlerquelle weniger.

Ist auch praktisch bei kleinem Memory-Limit. Ich verwende:

composer install --no-dev --no-scripts --optimize-autoloader
composer run-script post-update-cmd

Die 2. Zeile ruft den Kopiervorgang auf.