Odpowiedzi:
w połączonej dokumentacji napisano:
To polecenie działa tylko z modułami zdefiniowanymi jako pakiety Composer.
Jeśli moduł nie został zainstalowany przez kompozytora, nie będzie działał.
Możesz to wyłączyć tylko poprzez bin/magento module:disable SP_Gridthumbs
.
Aby usunąć moduł, usuń folder SP/Gridthumbs
, usuń rekord o module = „SP_Gridthumbs” z tabeli setup_module
i usuń wszelkie inne tabele lub rekordy dodane podczas instalacji modułu.
Również usunąć linię SP_Gridthumbs
zapp/etc/config.php
Remove the line with SP_Gridthumbs from app/etc/config.php
nie potrzebuje. Magento automatycznie usunie rekord przez uruchomieniephp bin/magento setup:upgrade
Poniżej znajdują się kroki, aby ręcznie odinstalować moduł dla Magento 2
{folder path}\app\code
setup_module
Uruchom polecenie
{ścieżka katalogu projektu magento}> {ścieżka php} \ php.exe bin / magento setup: upgrade => Setup Upgrade
{ścieżka katalogu projektu magento}> {ścieżka php} \ php.exe bin / magento cache: flush => Wyczyść pamięć podręczną
Co powiesz na:
php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade
W przypadku modułów kompozytora:
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
Kroki odinstalowywania zainstalowanego modułu kompozytora
Kroki odinstalowywania ręcznie dodanego modułu w aplikacji / kodzie
Odinstaluj rozszerzenie z magento 2:
Przejdź do katalogu projektu magento w CLI i sprawdź status modułu, uruchamiając polecenie
php bin/magento module:status
Jeśli jest włączony, wyłącz go, uruchamiając polecenie
php bin/magento module:disable <extension name>
Przejdź do bazy danych i wyszukaj tabelę „setup_module”, wyszukaj nazwę rozszerzenia i usuń ją
Usuń folder nazwy rozszerzenia z folderu aplikacji / kodu
Uruchom komendę setup: upgrade.
Pomyślnie odinstalowałeś rozszerzenie.
TUTAJ JEST PRZEWODNIK KROK PO KROKU, ABY ODINSTALOWAĆ RĘCZNIE MODUŁ STRONY TRZECIEJ OD MAGENTO 2.
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
Do niestandardowego modułu Magento2
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.
aby uzyskać więcej informacji na temat odinstalowywania zainstalowanych rozszerzeń innych firm / kompozytorów
https://www.scommerce-mage.com/blog/magento2-uninstall-module.html
Magento 2: Jak odinstalować moduł
1. Jeśli zainstalowałeś go ręcznie:
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. Jeśli zainstalowałeś go za pomocą kompozytora:
run this in console
php bin/magento module:status
php bin/magento module:disable mirasvit/module-core --clear-static-content
php bin/magento module:uninstall -r <Vendor>_<Module>
php bin/magento setup:upgrade
php bin/magento c:f
composer remove mirasvit/module-core
Mam nadzieję, że ktoś uzyska pomoc
setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php
i zamień
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;
}
z
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;
}
setup/src/Magento/Setup/Model/ModuleUninstaller.php
i zamień
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);
}
z
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);
}
}
Uwaga: rozwiązanie nie jest zalecane na serwerze produkcyjnym