Jak rozwiązać błąd „Brakuje następującego modułu w systemie plików”?


9

W witrynie Drupal 8 pojawia się następujący błąd.

W systemie plików brakuje następującego modułu

Wygląda na to, że moduł niestandardowy został zainstalowany i usunięty bez odinstalowywania.

Jak mogę naprawić ten błąd?


Czy korzystasz z zarządzania konfiguracją w serwisie?
Adrian Cid Almaguer,

Tak, używam tego
Kevin,

Niektórzy postępują z problemem? Na koniec chcę wiedzieć, jak rozwiązać problem, to też może przynieść mnie w każdym projekcie.
Adrian Cid Almaguer,

W Drupal 8.7.3 otrzymuję „w systemie plików brakuje następującego modułu: php w drupal_get_filename ()”, ale kiedy próbuję zainstalować moduł php, pojawia się błąd, że już istnieje w rdzeniu. Błąd uniemożliwia mi odinstalowanie czegokolwiek. Wczoraj zaktualizowałem do wersji 8.7.3, a dziś do 8.5.3 i nie mogę wstrząsnąć błędem. Pamięć podręczna jest czyszczona za każdym razem i wszystkie moduły, o których wiem, zostały przywrócone. Widzę uwagi na temat Drusha, ale jak zainstalować go na 8.7.3?
WilliamK,

Odpowiedzi:


11

Jeśli masz konsolę Drupal, to szybkim sposobem, aby to naprawić, jest wygenerowanie modułu o tej samej nazwie komputera, a następnie odinstalowanie go.

$ drupal generate:module

Następnie wpisz nazwę komputera w odpowiednim monicie i zaakceptuje wartości domyślne dla wszystkich innych elementów.

$ drush pm-uninstall

Następnie możesz usunąć nowo wygenerowany moduł z systemu plików i kontynuować dzień.

(Uwaga: może być konieczne zachowanie tego wygenerowanego modułu, w przeciwnym razie błąd zwróci. W takim przypadku, jeśli musisz zainstalować moduł contrib o tej samej nazwie, usuń wygenerowany moduł po dodaniu modułu contrib. Następnie wyczyść pamięć podręczną. )


2
To była najprostsza opcja po tym, jak powyższe zapytanie SQL nie działało.
Chris Charlton,

Pomogło rozwiązać mój błąd związany z brakiem modułu.
Akshay Sawant,

Jeśli ktoś potrzebuje pomocy w instalacji Drupal Console, uważam tę stronę za pomocną. Pamiętaj, że będziesz chciał zainstalować program uruchamiający konsolę Drupal globalnie, a konsolę Drupal lokalnie (w katalogu głównym instalacji Drupal).
Doomd

10

Zakładając, że usunąłeś nieistotny moduł niestandardowy, który nie wymaga żadnej procedury odinstalowania, możesz użyć następującego polecenia 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';"

Zobacz Jak naprawić komunikat „Brakuje następującego modułu w systemie plików ...”, aby uzyskać więcej informacji i alternatyw.


1
Próbowałem kilka razy i to dla D8 nie działa przynajmniej dla d8.7. Poleciłbym poniższe rozwiązanie z wygenerowaniem fałszywego modułu, a następnie odinstalowaniem.
Marko Blazekovic

3

Teraz z modułem Configuration Management konfiguracja modułów jest przechowywana w pliku core.extension.yml.

Przejdź do edycji pliku i spróbuj znaleźć brakujący moduł z systemu plików, a następnie usuń wiersz i zaimportuj config ( drush cim).

Jeśli to nie zadziała, ale moduł został znaleziony, utwórz go ponownie (tylko folder i prawidłowy plik .info.yml) i ponownie uruchom drush cimkomendę. Spowoduje to odinstalowanie modułu.


4
To działa, ale poprawnym sposobem jest przywrócenie modułu i odinstalowanie go. Jeśli moduł ten udostępnia schematy, konfigurację lub coś takiego, pozostanie w systemie i w przeciwnym razie będziesz musiał go wyczyścić ręcznie.
Berdir,

1
@Berdir, jeśli nie możesz znaleźć niestandardowego modułu, możemy zrobić coś innego?
Adrian Cid Almaguer,

Nie bardzo, musisz to zrobić ręcznie, jak sugerowano powyżej, za pomocą drush cedit lub importu / eksportu w pliku core.extension.
Berdir,

0

Naprawiłem to za pomocą drusha i kompozytora. Pobierz moduł z wymaganiem, zainstaluj i odinstaluj za pomocą drush, a następnie usuń za pomocą kompozytora.

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

! Krok drush enprawdopodobnie nie jest konieczny

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.