Shopware und Composer: Fehler nach Installation von Paket

Hallo,

Ich habe Shopware wie hier beschrieben installiert: Shopware 5 - First Steps - Installing Shopware

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 

Schau dir bspw. das Profiler Plugin an -> https://github.com/FriendsOfShopware/FroshProfiler

Dort hast du dann entsprechend im Plugin auch deine composer.json mit den Abhängigkeiten welche das Plugin benötigt -> https://github.com/FriendsOfShopware/FroshProfiler/blob/master/composer.json

Habe nun Shopware via Composer installiert (Using Composer to install Shopware). Folgendes fällt mir auf:

  1. Der First Run Wizard hängt beim Speichern der Einstellungen

  2. Das Installieren von Plugins während der Installation wirft einen Fehler

  3. Nach der Installation werden Themes im Backend mit _theme-name_ betitelt.

  4. Deutsch und Englisch vermischt im Backend

  5. Manche Buttons sind ohne Beschriftung (zB. Hersteller > Attribute)

 

 

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?

eine .htaccess mit rein tun

 

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.