Magento 2 - Wie deinstalliere ich das Modul?

11

Wie deinstalliere ich das Modul?

Ich habe dieses Dokument gelesen

Aber es war nicht erfolgreich und Anzeige unten:

php bin/magento module:uninstall SP_Gridthumbs 

SP_Gridthumbs ist kein installiertes Composer-Paket

MrTo-Kane
quelle
Details Beschreibung des Deinstallationsmoduls, rakeshjesadiya.com/…
Rakesh Jesadiya

Antworten:

42

In der von Ihnen verlinkten Dokumentation heißt es:

Dieser Befehl funktioniert nur mit Modulen, die als Composer-Pakete definiert sind.

Wenn Sie das Modul nicht über Composer installiert haben, funktioniert es nicht.
Sie können es nur über deaktivieren bin/magento module:disable SP_Gridthumbs.

Um das Modul zu entfernen, entfernen Sie den Ordner SP/Gridthumbs, entfernen Sie den Datensatz mit module = 'SP_Gridthumbs' aus der Tabelle setup_moduleund entfernen Sie alle anderen Tabellen oder Datensätze, die durch die Installation des Moduls hinzugefügt wurden.
Entfernen Sie auch die Linie mit SP_Gridthumbsvonapp/etc/config.php

Marius
quelle
Wie Sie all dieses Modul aus dem Projekt entfernen, deaktivieren Sie einfach.
MrTo-Kane
@ MagentoOdoo.com siehe mein Update
Marius
Sie sollten auch den Cache bereinigen
WaPoNe
3
Ich habe es getestet. Remove the line with SP_Gridthumbs from app/etc/config.phpbraucht nicht. Magento wird den Datensatz automatisch durch Ausführen entfernenphp bin/magento setup:upgrade
Key Shang
Eigentlich muss ich einen Datensatz aus der Tabelle aktualisieren und diesen Code in InstallData.php :: install () einfügen. Wenn ich das Modul und das Setup aktiviere: Upgrade, führe meinen Code aus. und jetzt brauche ich, wenn ich das Modul deaktiviere, dann sollte auch recorde aus der Tabelle entfernen, die ich Code in Uninstall :: uninstall gemacht habe, aber nicht auslösen, wenn Modul deaktiviert. Welche Datei wird ausgelöst, wenn das Modul und das Setup deaktiviert werden: Upgrade
HaFiz Umer
10

Im Folgenden finden Sie die Schritte zum manuellen Deinstallieren des Moduls für Magento 2

  • Löschen Sie den Modulordner aus {folder path}\app\code
  • Moduleintrag entfernen von setup_module
  • Führen Sie den Befehl aus

    {magento project root path}> {php path} \ php.exe bin / magento setup: upgrade => Setup Upgrade

    {magento project root path}> {php path} \ php.exe bin / magento cache: flush => Cache löschen

Ankit Shah
quelle
4

Wie wäre es mit:

php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade

Für Komponistenmodule:

php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
php bin/magento module:uninstall <ExtensionProvider_ExtensionName> -r
composer update
php bin/magento setup:upgrade
Arvind07
quelle
Setup ausführen: Wenn Sie ein Upgrade durchführen, während Module vorhanden sind, die nicht über Composer installiert wurden, werden sie installiert und wieder aktiviert, wodurch der Zweck zunichte gemacht wird.
Mohammed Joraid
1
@MohammedJoraid siehe aktualisierte Antwort
Arvind07
1

Schritte zum Deinstallieren eines von Composer installierten Moduls

  • bin / magento-Modul: Deaktivieren Sie Namespace_ModuleName
  • bin / magento-Modul: Deinstallieren Sie Namespace_ModuleName
  • Komponist Namespace / Modulname entfernen
  • Bin / Magento-Cache: Flush

Schritte zum Deinstallieren eines manuell hinzugefügten Moduls in App / Code

  • bin / magento-Modul: Deaktivieren Sie Namespace_ModuleName
  • Verzeichnis manuell aus App / Code entfernen
  • Bin / Magento-Setup: Upgrade
  • Bin / Magento-Cache: Flush
Yash Patadia
quelle
0

Magento 2: So deinstallieren Sie das Modul

1. Wenn Sie es manuell installiert haben:

remove the folder app/code/<Vendor>/<Module>
drop module tables from database
remove the config settings.

DELETE FROM core_config_data WHERE path LIKE 'vendor_module/%'   
DELETE FROM core_config_data WHERE path LIKE 'vendor_module/%'

remove the module <Vendor>_<Module> from app/etc/config.php

remove the module <Vendor>_<Module> from table setup_module

DELETE FROM setup_module WHERE module='<Vendor>_<Module>'    
DELETE FROM setup_module WHERE module='<Vendor>_<Module>'

2.Wenn Sie es über Composer installiert haben:

run this in console
php bin/magento module:uninstall -r <Vendor>_<Module>    
php bin/magento module:uninstall -r <Vendor>_<Module>

Hoffe, jemand bekommt Hilfe

Matinict
quelle
0

Ich denke, es ist ratsam, zuerst das Modul mit zu deaktivieren

PHP Bin / Magento Modul: Modulname deaktivieren

weil dies nach Abhängigkeiten sucht ...

Joris
quelle
0

Deinstallation der Erweiterung von Magento 2:

  1. Gehen Sie zu Ihrem Magento-Projektverzeichnis in der CLI und überprüfen Sie den Modulstatus, indem Sie den Befehl ausführen php bin/magento module:status

  2. Wenn es aktiviert ist, deaktivieren Sie es, indem Sie den Befehl ausführen php bin/magento module:disable <extension name>

  3. Gehen Sie zur Datenbank und suchen Sie nach der Tabelle 'setup_module', suchen Sie nach Ihrem Nebenstellennamen und löschen Sie ihn

  4. Löschen Sie den Ordner mit dem Namen Ihrer Nebenstelle aus dem Ordner app / code

  5. Führen Sie den Befehl setup: upgrade aus.

  6. Sie haben die Erweiterung erfolgreich deinstalliert.

Ajay
quelle
0

HIER IST DER SCHRITT FÜR SCHRITT-LEITFADEN, UM EIN DRITTMODUL VON MAGENTO 2 MANUELL ZU Deinstallieren.

Step 1: Remove the module Vendor_Mymodule from app\etc\config.php

Step 2: Drop module tables or columns from database, please check app\code\Vendor\Module\Setup folder for more information

Step 3: Remove the folder app\code\vendor\Mymodule

Step 4: Remove module configuration settings from core_config_data table by running the following query


 DELETE FROM setup_module WHERE module LIKE 'vendor_Mymodule';
Step 5: Run the following command by logging onto your SSH server

 php bin/magento setup:upgrade
But if you have installed the module via composer then you can run the following list of commands by SSHing on the box to uninstall third party module

 php bin/magento module:uninstall -r {{module_name}}
for example

php bin/magento module:uninstall -r Scommerce_GoogleTagManagerPro
-r flag removes module data 

Run the following command once module has been successfully uninstalled.

 php bin/magento setup:upgrade

Zum benutzerdefinierten Magento2-Modul

step1: disable the module 
$php bin/magento module:disable Vendor_MyModule
step2: remove the folder from directory app/code/Vendor
step3: remove the line of code from app/etc/config.php file.

Weitere Informationen zum Deinstallieren der von Drittanbietern / Komponisten installierten Erweiterungen

https://www.scommerce-mage.com/blog/magento2-uninstall-module.html

Arshad Syed
quelle
Was ist, wenn Sie verschiedene Module desselben Anbieters haben, die Sie behalten möchten? Ihre SQL-Abfragen werden diese brechen.
Dominic Xigen
Habe gerade meine Antwort bearbeitet.
Arshad Syed
-7
  1. Öffnen setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php

und ersetzen

protected function validate(array $modules)
{
    $messages = [];
    $unknownPackages = [];
    $unknownModules = [];
    $installedPackages = $this->composer->getRootRequiredPackages();
    foreach ($modules as $module) {
        if (array_search($this->packageInfo->getPackageName($module), $installedPackages) === false) {
            $unknownPackages[] = $module;
        }
        if (!$this->fullModuleList->has($module)) {
            $unknownModules[] = $module;
        }
    }
    $unknownPackages = array_diff($unknownPackages, $unknownModules);
    if (!empty($unknownPackages)) {
        $text = count($unknownPackages) > 1 ?
            ' are not installed composer packages' : ' is not an installed composer package';
        $messages[] = '<error>' . implode(', ', $unknownPackages) . $text . '</error>';
    }
    if (!empty($unknownModules)) {
        $messages[] = '<error>Unknown module(s): ' . implode(', ', $unknownModules) . '</error>';
    }
    return $messages;
}

mit

protected function validate(array $modules)
{
    $messages = [];
    $unknownPackages = [];
    $unknownModules = [];
    $installedPackages = $this->composer->getRootRequiredPackages();
    foreach ($modules as $module) {
        if (array_search($this->packageInfo->getPackageName($module), $installedPackages) === false) {
            $unknownPackages[] = $module;
        }
        if (!$this->fullModuleList->has($module)) {
            $unknownModules[] = $module;
        }
    }
    if (!empty($unknownModules)) {
        $messages[] = '<error>Unknown module(s): ' . implode(', ', $unknownModules) . '</error>';
    }
    return $messages;
}
  1. Öffnen setup/src/Magento/Setup/Model/ModuleUninstaller.php

und ersetzen

public function uninstallCode(OutputInterface $output, array $modules)
{
    $output->writeln('<info>Removing code from Magento codebase:</info>');
    $packages = [];
    /** @var \Magento\Framework\Module\PackageInfo $packageInfo */
    $packageInfo = $this->objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
    foreach ($modules as $module) {
        $packages[] = $packageInfo->getPackageName($module);
    }
    $this->remove->remove($packages);
}

mit

public function uninstallCode(OutputInterface $output, array $modules)
{
    $output->writeln('<info>Removing code from Magento codebase:</info>');
    $packages = [];
    /** @var \Magento\Framework\Module\PackageInfo $packageInfo */
    $packageInfo = $this->objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
    foreach ($modules as $module) {
        $packages[] = $packageInfo->getPackageName($module);
    }
}
  1. Sagen Sie "lyaska masyaska"

Beachten Sie, dass die Lösung auf dem Produktionsserver nicht empfohlen wird

Igoreus Barmaleus
quelle