Drupal 8サイトで次のエラーが発生します。
次のモジュールがファイルシステムにありません
カスタムモジュールがアンインストールされずにインストールおよび削除されたように見えます。
このエラーを修正するにはどうすればよいですか?
Drupal 8サイトで次のエラーが発生します。
次のモジュールがファイルシステムにありません
カスタムモジュールがアンインストールされずにインストールおよび削除されたように見えます。
このエラーを修正するにはどうすればよいですか?
回答:
Drupalコンソールがある場合、これを修正する簡単な方法は、同じマシン名でモジュールを生成してからアンインストールすることです。
$ drupal generate:module
次に、適切なプロンプトでマシン名を入力し、その他すべてのデフォルトを受け入れます。
$ drush pm-uninstall
次に、新しく生成されたモジュールをファイルシステムから削除して、1日を続けることができます。
(注意:生成されたモジュールを保持する必要がある場合があります。それ以外の場合はエラーが返されます。その場合、同じ名前のcontribモジュールをインストールする必要がある場合は、contribモジュールを追加した後、生成されたモジュールを削除します。次に、キャッシュをクリアします。 )
アンインストールルーチンをトリガーする必要のない重要でないカスタムモジュールを削除した場合、次の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';"
詳細と代替方法については、「次のモジュールがファイルシステムにない...」警告メッセージを修正する方法を参照してください。
これで、構成管理モジュールにより、モジュール構成がcore.extension.ymlファイルに保存されます。
ファイルを編集し、ファイルシステムから欠落しているモジュールを見つけて、行を削除して構成をインポートします(drush cim
)。
これが機能しないがモジュールを見つけた場合は、モジュールを再度作成し(フォルダーと有効な.info.ymlファイルのみ)、drush cim
コマンドを再度実行します。これにより、モジュールがアンインストールされます。