Ich versuche, ein Modul (mein eigenes) zu deinstallieren, das ich über Composer mithilfe der CLI mit diesem Befehl installiert habe:
bin/magento module:uninstall -r [Namespace]_[Module]
Basierend auf der hier von @RyanH bereitgestellten Antwort habe ich die Setup/Uninstall.php
Datei erstellt, die datenbankbezogene Daten des Moduls entfernt.
Dies funktioniert einwandfrei, aber die Deinstallationsprozedur hängt.
Ich habe sogar das Skript über Nacht laufen lassen und immer noch das gleiche Ergebnis.
Die Erweiterungsdateien befinden sich noch im vendor
Modul.
Ich habe die Dateiberechtigungen oder den Eigentümer nicht berührt.
Was geht richtig:
- Die datenbankbezogenen Daten werden entfernt
- Der Modulname wird aus der Tabelle entfernt
setup_module
- Der Modulname wird aus entfernt
app/etc/config.php
.
Was geht schief:
- Die Moduldateien befinden sich noch im
vendor
Ordner. - Der Konsolenbefehl wird nicht beendet.
Konsolenausgabe:
Sie sind dabei, Code- und / oder Datenbanktabellen zu entfernen. Sind Sie sicher? [J / N] y
Aktivieren des Wartungsmodus
Sie entfernen Daten ohne Datenbanksicherung.
Daten von [Namespace] _ [Modul]
entfernen [Namespace] _ [Modul] aus der Modulregistrierung in der Datenbank
entfernen [Namespace] _ [Modul] aus der Modulliste in der Bereitstellungskonfiguration
entfernen Code aus der Magento-Codebasis entfernen:
Danach hängt es einfach.
Gibt es überhaupt eine Möglichkeit, den Deinstallationsprozess abzuschließen oder zumindest zu debuggen?
Antworten:
Der Teil des Deinstallationsprozesses, bei dem es sich um Hände handelt, finden Sie unter
setup/src/Magento/Setup/Model/ModuleUninstaller.php
:Grundsätzlich werden die zu entfernenden Pakete aufgelistet und anschließend ein
composer remove
Befehl für diese Pakete ausgeführt überlib/internal/Magento/Framework/Composer/Remove.php
:Sie finden die
runComposerCommand
Methode invendor/magento/composer/src/MagentoComposerApplication.php
:Mir passiert auf dem Weg hierher etwas und in diesen Funktionen sollten Sie mit dem Debuggen beginnen.
Möglicherweise
composer.json
fehlt Ihre Moduldatei oder es liegt ein Fehler vor.quelle
Wenn wir bin / magento module: uninstall Module_Name ausführen, wird der Befehl composer update auch im Back-Prozess ausgeführt, der in cli nicht angezeigt wird.
Wenn wir das Composer-Update ausführen, sind Benutzername und Passwort für Ihr Magento-Marktplatzkonto erforderlich. Wenn Sie nicht haben, dann erstellen Sie:
So erstellen Sie Authentifizierungsschlüssel:
Melden Sie sich beim Magento Marketplace an . Wenn Sie kein Konto haben, klicken Sie auf Registrieren.
Klicken Sie oben rechts auf der Seite auf Ihren Kontonamen und wählen Sie Mein Profil.
Klicken Sie auf der Registerkarte Marktplatz auf Zugriffsschlüssel.
Führen Sie diesen Befehl in Ihrem Magento-Stammverzeichnis aus. Dadurch
ln -s ~/.composer/auth.json var/composer_home/
wird eine symbolische Verknüpfung Ihres Komponisten auth.json erstelltWenn wir module: deinstallieren, überprüfen Sie auth.json im magento var-Ordner oder im magento-Stammverzeichnis.
Es funktioniert für mich.
quelle
Der Composer wurde beim Laden der Daten von repo.magento.com gestoppt
Meine auth.json war nicht korrekt. Diese Entscheidung hat mir geholfen
Verwendung des neuen repo.magento.com
quelle