Respostas:
diz na documentação que você vinculou, isto:
Este comando funciona apenas com os módulos definidos como pacotes do Composer.
Se você não instalou o módulo via compositor, ele não funcionará.
Você só pode desativá-lo via bin/magento module:disable SP_Gridthumbs
.
Para remover o módulo, remova a pasta SP/Gridthumbs
, remova o registro com module = 'SP_Gridthumbs' da tabela setup_module
e remova quaisquer outras tabelas ou registros adicionados pela instalação do módulo.
Remova também a linha com SP_Gridthumbs
deapp/etc/config.php
Remove the line with SP_Gridthumbs from app/etc/config.php
não precisa. O Magento removerá automaticamente o registro por execuçãophp bin/magento setup:upgrade
Abaixo estão as etapas para desinstalar o módulo manualmente para Magento 2
{folder path}\app\code
setup_module
Comando de execução
{caminho raiz do projeto magento}> {caminho php} \ php.exe bin / magento setup: upgrade => Setup Upgrade
{caminho raiz do projeto magento}> {caminho php} \ php.exe bin / magento cache: flush => Limpar cache
E se:
php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade
Para módulos compositores:
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
Etapas para desinstalar um módulo instalado do compositor
Etapas para desinstalar um módulo adicionado manualmente no aplicativo / código
Desinstale a extensão do magento 2:
Vá para o diretório do projeto magento na CLI e verifique o status do módulo, executando o comando
php bin/magento module:status
Se estiver ativado, desative-o executando o comando
php bin/magento module:disable <extension name>
Vá para o banco de dados e procure a tabela 'setup_module', procure o nome do seu ramal e exclua-o
Exclua a pasta do nome da extensão da pasta app / code
Execute o comando setup: upgrade.
Você desinstalou com sucesso a extensão.
A seguir, o guia passo a passo para desinstalar manualmente qualquer módulo de terceiros do 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
Para o módulo Magento2 personalizado
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.
para saber mais sobre como desinstalar extensões instaladas de terceiros / compositores
https://www.scommerce-mage.com/blog/magento2-uninstall-module.html
Magento 2: Como desinstalar o módulo
1. Se você o instalou manualmente:
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. Se você o instalou via compositor:
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
Espero que alguém obtenha ajuda
setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php
e substitua
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;
}
com
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
e substitua
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);
}
com
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);
}
}
Observe que a solução não é recomendada no servidor de produção