Como resolver o erro "O módulo a seguir está ausente no sistema de arquivos"?


9

Estou recebendo o seguinte erro em um site do Drupal 8.

O módulo a seguir está ausente no sistema de arquivos

Parece que um módulo personalizado foi instalado e excluído sem desinstalá-lo.

Como posso corrigir este erro?


Você está usando o gerenciamento de configuração no site?
Adrian Cid Almaguer

Sim, eu estou usando isso
Kevin

Algum avanço com o problema? Eu quero saber no final como você resolve o problema, isso pode me chegar também em qualquer projeto.
Adrian Cid Almaguer

No Drupal 8.7.3, estou recebendo "o seguinte módulo está faltando no sistema de arquivos: php in drupal_get_filename ()", mas quando tento instalar o módulo php, recebo um erro sobre ele já existente no núcleo. O erro está me impedindo de desinstalar qualquer coisa. Ontem, atualizei para 8.7.3 e hoje para 8.5.3 e não consigo ignorar o erro. O cache foi limpo toda vez e todos os módulos que eu conheço foram restaurados. Vejo notas sobre o Drush, mas como instalá-lo no 8.7.3?
WilliamK

Respostas:


11

Se você possui o Drupal Console, uma maneira rápida de corrigir isso é gerar um módulo com o mesmo nome de máquina e desinstalá-lo.

$ drupal generate:module

Em seguida, digite o nome da máquina no prompt apropriado e aceite os padrões para todo o resto.

$ drush pm-uninstall

Em seguida, você pode excluir o módulo recém-gerado do sistema de arquivos e continuar com o seu dia.

(NB: pode ser necessário manter o módulo gerado, caso contrário, o erro retornará. Nesse caso, se você precisar instalar um módulo contrib com o mesmo nome, remova o módulo gerado após adicionar o módulo contrib. Em seguida, limpe o cache. )


2
Esta foi a opção mais simples depois que a consulta SQL acima não funcionou.
22618 Chris

Ajudou a resolver meu erro para o módulo não encontrado.
Akshay Sawant

Se alguém precisar de ajuda para instalar o Drupal Console, achei esta página útil. Lembre-se de instalar o Drupal Console Launcher globalmente e o Drupal Console localmente (na raiz do projeto da instalação do Drupal).
Doomd 23/04

10

Supondo que você excluiu um módulo personalizado sem importância que não precisa de nenhuma rotina de desinstalação para ser acionado, você pode usar o seguinte comando Drush.

  • 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';"

Consulte Como corrigir as mensagens de aviso "O módulo a seguir está ausente no sistema de arquivos ..." para obter mais informações e alternativas.


11
Eu tentei algumas vezes e isso para D8 não funciona pelo menos para d8.7. Eu recomendaria a solução abaixo com a geração de módulo fictício e a desinstalação.
Marko Blazekovic 23/06/19

3

Agora, com o módulo Configuration Management, a configuração dos módulos é armazenada no arquivo core.extension.yml.

Vá para editar o arquivo e tente encontrar o módulo ausente do sistema de arquivos, exclua a linha e importe a config ( drush cim).

Se isso não funcionar, mas você encontrou o módulo, crie o módulo novamente (apenas a pasta e um arquivo .info.yml válido) e execute o drush cimcomando novamente . Isso desinstalará o módulo.


4
Isso funciona, mas a maneira correta é restaurar o módulo e desinstalá-lo. Se esse módulo fornecer esquemas, configurações ou mais, ele permanecerá no sistema e você terá que limpá-lo manualmente, caso contrário.
Berdir 13/09/17

11
@ Berdir, se você não encontrar o módulo personalizado, podemos fazer outra coisa?
Adrian Cid Almaguer

Na verdade, não, é necessário fazê-lo manualmente, conforme sugerido acima, com drush cedit ou importação / exportação no arquivo core.extension.
Berdir

0

A maneira que eu consertei foi usando drush e compositor. Obtenha o módulo com exigir, instalar e desinstalar com drush e remova com o compositor.

composer require drupal/missing_module
drush en missing_module
drush pmu missing_module
composer remove drupal/missing_module

! O passo com drush enprovavelmente não é necessário

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.