Comment désinstaller le module?
J'ai lu ce document
Mais cela n'a pas réussi, et affichez ci-dessous:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs n'est pas un package de compositeur installé
Comment désinstaller le module?
J'ai lu ce document
Mais cela n'a pas réussi, et affichez ci-dessous:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs n'est pas un package de compositeur installé
Réponses:
il est dit dans la documentation que vous avez liée, ceci:
Cette commande fonctionne uniquement avec les modules définis comme packages Composer.
Si vous n'avez pas installé le module via composer, cela ne fonctionnera pas.
Vous ne pouvez le désactiver que via bin/magento module:disable SP_Gridthumbs
.
Pour supprimer le module, supprimez le dossier SP/Gridthumbs
, supprimez l'enregistrement avec module = 'SP_Gridthumbs' de la table setup_module
et supprimez toutes les autres tables ou enregistrements ajoutés par l'installation du module.
Supprimez également la ligne avec SP_Gridthumbs
deapp/etc/config.php
Remove the line with SP_Gridthumbs from app/etc/config.php
n'a pas besoin. Magento supprimera automatiquement l'enregistrement par exécutionphp bin/magento setup:upgrade
Voici les étapes pour désinstaller manuellement le module pour Magento 2
{folder path}\app\code
setup_module
Exécuter la commande
{chemin racine du projet magento}> {chemin php} \ php.exe bin / magento setup: upgrade => Setup Upgrade
{chemin racine du projet magento}> {chemin php} \ cache php.exe bin / magento: flush => Vider le cache
Que diriez-vous:
php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade
Pour les modules compositeur:
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
Étapes pour désinstaller un module installé par Composer
Étapes pour désinstaller un module ajouté manuellement dans l'application / le code
Désinstaller l'extension de magento 2:
Accédez à votre répertoire de projet magento dans CLI et vérifiez l'état du module, en exécutant la commande
php bin/magento module:status
S'il est activé, désactivez-le en exécutant la commande
php bin/magento module:disable <extension name>
Allez dans la base de données et recherchez la table 'setup_module' et recherchez le nom de votre extension et supprimez-le
Supprimez le dossier du nom de votre extension du dossier app / code
Exécutez la commande setup: upgrade.
Vous avez réussi à désinstaller l'extension.
VOICI LE GUIDE ÉTAPE PAR ÉTAPE POUR DÉSINSTALLER MANUELLEMENT TOUT MODULE TIERS DE 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
Vers le module Magento2 personnalisé
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.
pour en savoir plus sur la désinstallation des extensions installées par des tiers / compositeurs
https://www.scommerce-mage.com/blog/magento2-uninstall-module.html
Magento 2: Comment désinstaller le module
1. Si vous l'avez installé manuellement:
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.Si vous l'avez installé via composer:
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
J'espère que quelqu'un obtiendra de l'aide
setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php
et remplacer
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;
}
avec
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
et remplacer
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);
}
avec
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);
}
}
Remarque, la solution n'est pas recommandée sur le serveur de production