Utilisez-vous la gestion de la configuration sur le site?
Adrian Cid Almaguer
Oui, je l'utilise
Kevin
Certains avancent avec le problème? Je veux savoir à la fin comment résoudre le problème, cela peut m'arriver aussi dans n'importe quel projet.
Adrian Cid Almaguer du
Dans Drupal 8.7.3, je reçois "le module suivant manque dans le système de fichiers: php dans drupal_get_filename ()" mais lorsque j'essaie d'installer le module php, j'obtiens une erreur à ce sujet déjà existant dans le noyau. L'erreur m'empêche de désinstaller quoi que ce soit. Hier, j'ai mis à jour vers 8.7.3 et aujourd'hui vers 8.5.3 et je ne peux pas secouer l'erreur. Le cache a été effacé à chaque fois et tous les modules que je connais ont été restaurés. Je vois des notes sur Drush mais comment l'installer sur 8.7.3?
WilliamK
Réponses:
11
Si vous avez Drupal Console, un moyen rapide de résoudre ce problème consiste à générer un module avec le même nom de machine, puis à le désinstaller.
$ drupal generate:module
Tapez ensuite le nom de l'ordinateur à l'invite appropriée et acceptez les valeurs par défaut pour tout le reste.
$ drush pm-uninstall
Ensuite, vous pouvez supprimer le module nouvellement généré du système de fichiers et continuer votre journée.
(NB vous pouvez avoir besoin de conserver ce module généré, sinon l'erreur reviendra. Dans ce cas, si vous devez installer un module contrib avec le même nom, supprimez le module généré après avoir ajouté le module contrib. Ensuite, videz le cache. )
C'était l'option la plus simple après que la requête SQL ci-dessus ne fonctionnerait pas.
Chris Charlton
Cela a aidé à résoudre mon erreur pour le module introuvable.
Akshay Sawant
Si quelqu'un a besoin d'aide pour installer Drupal Console, j'ai trouvé cette page utile. Gardez à l'esprit que vous voudrez installer le lanceur de console Drupal globalement et la console Drupal localement (dans la racine du projet de votre installation Drupal).
Doomd
10
En supposant que vous avez supprimé un module personnalisé sans importance qui ne nécessite aucune routine de désinstallation pour être déclenché, vous pouvez utiliser la commande Drush suivante.
Drupal 7
drush sql-query "DELETE from system where type = 'module' AND name = 'MYMODULE';"
Drupal 8
drush sql-query "DELETE FROM key_value WHERE collection='system.schema' AND name='MYMODULE';"
J'ai essayé plusieurs fois et cela pour D8 ne fonctionne pas au moins pour d8.7. Je recommanderais la solution ci-dessous avec la génération du module factice puis la désinstallation.
Marko Blazekovic
3
Maintenant, avec le module de gestion de la configuration, la configuration des modules est stockée dans le fichier core.extension.yml.
Allez pour éditer le fichier et essayez de trouver le module manquant dans le système de fichiers puis supprimez la ligne et importez la config ( drush cim).
Si cela ne fonctionne pas mais que vous avez trouvé le module, créez à nouveau le module (juste le dossier et un fichier .info.yml valide) et relancez la drush cimcommande. Cela désinstallera le module.
Cela fonctionne, mais la bonne façon est de restaurer le module et de le désinstaller. Si ce module fournit des schémas, une configuration ou autre, il restera dans le système et vous devrez le nettoyer manuellement sinon.
Berdir
1
@Berdir si vous ne trouvez pas le module personnalisé, nous pouvons faire autre chose?
Adrian Cid Almaguer
Pas vraiment, alors vous devez le faire manuellement comme suggéré ci-dessus avec drush cedit ou import / export dans le fichier core.extension.
Berdir
0
La façon dont je l'ai corrigé était en utilisant drush et composer. Obtenez le module avec require, installez et désinstallez avec drush puis supprimez avec composer.
Réponses:
Si vous avez Drupal Console, un moyen rapide de résoudre ce problème consiste à générer un module avec le même nom de machine, puis à le désinstaller.
Tapez ensuite le nom de l'ordinateur à l'invite appropriée et acceptez les valeurs par défaut pour tout le reste.
Ensuite, vous pouvez supprimer le module nouvellement généré du système de fichiers et continuer votre journée.
(NB vous pouvez avoir besoin de conserver ce module généré, sinon l'erreur reviendra. Dans ce cas, si vous devez installer un module contrib avec le même nom, supprimez le module généré après avoir ajouté le module contrib. Ensuite, videz le cache. )
la source
En supposant que vous avez supprimé un module personnalisé sans importance qui ne nécessite aucune routine de désinstallation pour être déclenché, vous pouvez utiliser la commande Drush suivante.
Drupal 7
Drupal 8
Voir Comment corriger les messages d'avertissement «Le module suivant est absent du système de fichiers ...» pour plus d'informations et d'alternatives.
la source
Maintenant, avec le module de gestion de la configuration, la configuration des modules est stockée dans le fichier core.extension.yml.
Allez pour éditer le fichier et essayez de trouver le module manquant dans le système de fichiers puis supprimez la ligne et importez la config (
drush cim
).Si cela ne fonctionne pas mais que vous avez trouvé le module, créez à nouveau le module (juste le dossier et un fichier .info.yml valide) et relancez la
drush cim
commande. Cela désinstallera le module.la source
La façon dont je l'ai corrigé était en utilisant drush et composer. Obtenez le module avec require, installez et désinstallez avec drush puis supprimez avec composer.
! L'étape avec
drush en
n'est probablement pas nécessairela source