Sprich: die Zip heruntergeladen und den Installer mit meinem lokalen virtuellen Verzeichnis gestartet.
Nachdem ich nun ein Paket via Composer require hinzufügen wollte, raucht die komplette Installation ab. Bei einem Blick in die composer.json sehe ich, dass dort viele Verzeichnisse referenziert werden (zB. /build), die in der Zip-Version nicht existieren.
Kann mir das einer erklären - wie soll ich Composer-Pakete hinzufügen, wenn ich die „klassische“ Installationsmethode verwendet habe?
PS: der Fatal Error seit dem Composer require ist:
> Fatal error: require(): Failed opening required […]tests/dbunit_shims.php): failed to open stream: No such file or directory
Nach dem Entfernen der entsprechenden Zeilen in der composer.json kann ich zwar wieder auf den Shop zugreifen. Verstehe aber den Grundgedanken nicht, eine composer-Konfig auszuliefern, die mit dem Build nicht kompatibel ist?
Ich verstehe nicht was du vor hast. Du kannst in einer klassischen Installation keine weiteren Abhängigkeiten nachladen. Wofür genau brauchst du das denn?
Wenn du eine Erweiterung programmierst sollte dein Plugin bereits alle Abhängigkeiten mitbringen.
>Ich verstehe nicht was du vor hast. Du kannst in einer klassischen Installation keine weiteren Abhängigkeiten nachladen.
Das verstehe ich langsam. Wozu aber wird dann die klassische Version mit einer composer.json ausgeliefert?
Was ich vorhabe: ich erstelle eine projektspezifische Erweiterung/Plugin. Wenn dieses Plugin ein Paket benötigt, will ich es natürlich in die Liste der Abhängigkeiten hinzufügen. Bin mir nicht sicher, wie das nun in der klassischen Installation vorgesehen war.
Was ich vorhabe: ich erstelle eine projektspezifische Erweiterung/Plugin. Wenn dieses Plugin ein Paket benötigt, will ich es natürlich in die Liste der Abhängigkeiten hinzufügen. Bin mir nicht sicher, wie das nun in der klassischen Installation vorgesehen war.
Die composer Abhängigkeiten von deinem Plugin kommen in die composer.json von deinem Plugin. Nicht in die Shopware Core composer.json
Noch etwas: wenn ich Composer in meinem Plugin-Verzeichnis installiere, dann ist auch der /vendor - Ordner öffentlich zugänglich, was vermieden werden sollte. Wie genau ist das bei Shopware vorgesehen?
Eher ein Pflaster als eine Lösung, oder? Andererseits ist es wohl leider so, dass bei Software wie Shopware oder auch Wordpress immer alles im öffentlichen Ordner liegt.