J'essaie de désinstaller un module (le mien) que j'ai installé via composer à l'aide de CLI avec cette commande:
bin/magento module:uninstall -r [Namespace]_[Module]
Sur la base de la réponse fournie ici par @RyanH, j'ai créé le Setup/Uninstall.php
fichier qui supprime les données liées à la base de données du module.
Cela fonctionne parfaitement mais la procédure de désinstallation se bloque.
J'ai même laissé le script tourner pendant la nuit et toujours le même résultat.
Les fichiers d'extension sont toujours là dans le vendor
module.
Je n'ai pas touché les autorisations de fichier ou le propriétaire.
Ce qui va bien:
- les données liées à la base de données sont supprimées
- le nom du module est supprimé de la table
setup_module
- le nom du module est supprimé de
app/etc/config.php
.
Ce qui ne va pas:
- les fichiers du module sont toujours là dans le
vendor
dossier. - la commande console ne se termine pas.
Sortie console:
Vous êtes sur le point de supprimer du code et / ou des tables de base de données. Êtes-vous sûr? [Y / N] y
Activation du mode de maintenance
Vous supprimez des données sans sauvegarde de base de données.
Suppression des données de [Namespace] _ [Module]
Suppression de [Namespace] _ [Module] du registre de modules dans la base de données
Suppression de [Namespace] _ [Module] de la liste des modules dans la configuration de déploiement
Suppression de code de la base de code Magento:
Après cela, il se bloque simplement.
Est-il possible de terminer le processus de désinstallation ou au moins de le déboguer?
Réponses:
La partie du processus de désinstallation où il est possible se trouve sous
setup/src/Magento/Setup/Model/ModuleUninstaller.php
:Fondamentalement, il répertorie les packages à supprimer, puis exécute une
composer remove
commande sur ces packages vialib/internal/Magento/Framework/Composer/Remove.php
:Vous pouvez trouver la
runComposerCommand
méthode dansvendor/magento/composer/src/MagentoComposerApplication.php
:Pour moi, quelque chose se passe en cours de route et ces fonctions sont l'endroit où vous devriez commencer le débogage.
Votre
composer.json
fichier de module est peut-être manquant ou contient une erreur.la source
lorsque nous exécutons le module bin / magento: désinstallez Module_Name puis exécutez la commande de mise à jour du compositeur également dans le processus arrière qui n'est pas affiché dans cli.
Lorsque nous exécutons la mise à jour du compositeur, il faut un nom d'utilisateur et un mot de passe pour votre compte de marché magento. si vous ne l'avez pas encore créé:
Pour créer des clés d'authentification:
Connectez-vous à Magento Marketplace . Si vous n'avez pas de compte, cliquez sur S'inscrire.
Cliquez sur le nom de votre compte en haut à droite de la page et sélectionnez Mon profil.
Cliquez sur Clés d'accès dans l'onglet Marketplace.
Exécutez cette commande à partir de votre répertoire racine magento,
ln -s ~/.composer/auth.json var/composer_home/
cela créera un lien symbolique de votre compositeur auth.jsonLorsque nous exécutons le module: désinstallez, puis vérifiez auth.json dans le dossier var magento ou le répertoire racine magento.
Ça marche pour moi.
la source
Composer arrêté dans les données de chargement de repo.magento.com
Mon auth.json n'était pas correct. Cette décision m'a aidé
Comment utiliser le nouveau repo.magento.com
la source