unser Shop wurde bei der Migration auf SW6 samt Plugins von der damaligen Agentur leider per Composer aufgesetzt. Aus Agentursicht wahrscheinlich sinnvoll, für uns/mich aber maximal doof weil ich so gar nicht „in love with the command line“ bin.
Kurzum. Ich suche nach einem Weg um mit Composer installierte Plugins manuell sauber zu löschen – um sie ggfs. später über das Backend neu zu installieren - ohne die Shell zu benutzen.
Funktioniert das, wenn ich wie folgt vorgehe?
Plugin im Backend deaktivieren und deinstallieren.
Den Pluginordner via FTP vom Server löschen (entweder in custom/plugins oder /vendor/store.shopware.com).
Den Plugineintrag bzw. die betreffende Zeile via Texteditor in der composer.json manuell löschen und die geänderte composer.json wieder hochladen.
Cache des Shops im Backend löschen.
Evtl. noch vorhandene Einträge in der Datenbank prüfen und dort ggfs. manuell löschen.
Du musst aus der composer.json die Plugins entfernen, das ist richtig.
Wenn du über composer remove store.shopware.com/pluginname diese entfernst, dann entfernt composer diese automatisch aus dem vendor Verzeichnis.
Dann muss du die Plugins manuell in den custums/plugins Ordner kopieren. Aus account.shopware.com die ZIP laden.
Wenn du per bin/console plugin:refresh die Plugins aktualisierst, dann sollten die neuen Pfade automatisch erkannt werden.
Es kann sein/ist wahrscheinlich, dass deine Administration während des gesamten Vorgangs nicht funktioniert. Daher das ganze vorab an einem Testsystem einmal durchspielen.
Ohne die Shell, ist dein Weg nicht machbar, da wenn du die vendor Ordner löscht, die autoload Datei einen Fehler wirft. composer muss diese per dump_autoload neu erstellen.
Ok, vielen Dank. Schade dass es ohne Shell/SSH nicht geht.
Wenn ich Dich richtig verstanden habe wäre der Ablauf bei einer reinen Deinstallation (hier als Beispiel PayPal) wie folgt:
PayPal Plugin im Backend deaktivieren und deinstallieren
Per Shell auf den Server und „bin/console remove store.shopware.com/swagpaypal“ ausführen
Die composer.json herunterladen, PayPal Eintrag löschen und wieder hochladen
Abschließend dann noch per Shell „bin/console plugin:refresh“ ausführen.
Falls man das PayPal Plugin nur durch eine normale non-composer Installation ersetzen möchte (und die Plugin Daten behalten will) müsste man noch zwischen Schritt 3 du 4 die Zip aus dem Shopware Store nehmen und vor Schritt 4 per FTP custom/plugins hochladen.