Come disinstallare il modulo?
Ho letto questo documento
Ma non ha avuto successo e viene visualizzato di seguito:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs non è un pacchetto compositore installato
Come disinstallare il modulo?
Ho letto questo documento
Ma non ha avuto successo e viene visualizzato di seguito:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs non è un pacchetto compositore installato
Risposte:
dice nella documentazione che hai collegato, questo:
Questo comando funziona solo con moduli definiti come pacchetti Composer.
Se il modulo non è stato installato tramite il compositore, non funzionerà.
Puoi disabilitarlo solo tramite bin/magento module:disable SP_Gridthumbs
.
Per rimuovere il modulo, rimuovere la cartella SP/Gridthumbs
, rimuovere il record con module = 'SP_Gridthumbs' dalla tabella setup_module
e rimuovere eventuali altre tabelle o record aggiunti dall'installazione del modulo.
Rimuovere anche la linea con SP_Gridthumbs
daapp/etc/config.php
Remove the line with SP_Gridthumbs from app/etc/config.php
non serve. Magento rimuoverà automaticamente il record eseguendophp bin/magento setup:upgrade
Di seguito sono riportati i passaggi per disinstallare il modulo manualmente per Magento 2
{folder path}\app\code
setup_module
Esegui comando
{percorso root progetto magento}> {percorso php} \ php.exe bin / magento setup: upgrade => Setup Upgrade
{percorso root progetto magento}> {percorso php} \ php.exe bin / magento cache: flush => Clear Cache
Che ne dite di:
php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade
Per i moduli del compositore:
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
I passaggi per disinstallare un modulo installato compositore
Passaggi per disinstallare un modulo aggiunto manualmente in app / codice
Disinstallare l'estensione da Magento 2:
Vai alla directory del tuo progetto magento nella CLI e verifica lo stato del modulo, eseguendo il comando
php bin/magento module:status
Se è abilitato, disabilitarlo eseguendo il comando
php bin/magento module:disable <extension name>
Vai al database e cerca la tabella 'setup_module' e cerca il nome della tua estensione ed eliminalo
Elimina la cartella del nome dell'estensione dalla cartella app / codice
Esegui il comando setup: upgrade.
L'estensione è stata disinstallata correttamente.
ECCO LA GUIDA PASSO A PASSO PER DISINSTALLARE MANUALMENTE UN MODULO DI TERZE PARTI DI 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
Al modulo Magento2 personalizzato
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.
per ulteriori informazioni sulla disinstallazione di estensioni installate di terze parti / composer
https://www.scommerce-mage.com/blog/magento2-uninstall-module.html
Magento 2: come disinstallare il modulo
1. Se lo hai installato 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 lo hai installato tramite il compositore:
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
Spero che qualcuno riceva aiuto
setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php
e sostituisci
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;
}
con
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 sostituisci
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);
}
con
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);
}
}
Nota, la soluzione non è consigliata sul server di produzione