Используете ли вы управление конфигурацией на сайте?
Адриан Сид
Да, я использую это
Кевин
Некоторое продвижение с проблемой? Я хочу знать, в конце концов, как вы решаете проблему, это может прийти мне тоже в любом проекте.
Адриан Сид
В Drupal 8.7.3 я получаю «следующий модуль отсутствует в файловой системе: php в drupal_get_filename ()», но когда я пытаюсь установить модуль php, я получаю сообщение об ошибке, которое уже существует в ядре. Ошибка не позволяет мне удалить что-либо. Вчера я обновился до 8.7.3, а сегодня до 8.5.3 и не могу избавиться от ошибки. Кэш очищался каждый раз, и все модули, о которых я знаю, были восстановлены. Я вижу заметки о Drush, но как установить его на 8.7.3?
WilliamK
Ответы:
11
Если у вас Drupal Console, то быстрый способ это исправить - создать модуль с тем же именем компьютера, а затем удалить его.
$ drupal generate:module
Затем введите имя машины в соответствующем запросе и примите значения по умолчанию для всего остального.
$ drush pm-uninstall
Затем вы можете удалить вновь созданный модуль из файловой системы и продолжить свой день.
(Примечание: вам может понадобиться сохранить этот сгенерированный модуль, иначе ошибка вернется. В этом случае, если вам нужно установить модуль contrib с тем же именем, удалите сгенерированный модуль после добавления модуля contrib. Затем очистите кеш. )
Это был самый простой вариант после того, как приведенный выше SQL-запрос не сработал.
Крис Чарлтон
Это помогло решить мою ошибку для модуля не найден.
Акшай Савант
Если кому-то нужна помощь в установке Drupal Console, я нашел эту страницу полезной. Имейте в виду, что вы захотите установить Drupal Console Launcher глобально, и Drupal Console локально (в корне проекта вашей установки Drupal).
Doomd
10
Предполагая, что вы удалили неважный пользовательский модуль, который не требует запуска какой-либо процедуры удаления, вы можете использовать следующую команду 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';"
Я пробовал несколько раз, и это для D8 не работает по крайней мере для D8.7. Я бы порекомендовал решение ниже с генерацией фиктивного модуля и затем установкой.
Марко
3
Теперь с модулем управления конфигурацией конфигурация модулей хранится в файле core.extension.yml.
Перейдите к редактированию файла и попробуйте найти отсутствующий модуль в файловой системе, затем удалите строку и импортируйте config ( drush cim).
Если это не работает, но вы нашли модуль, создайте его снова (только папку и действительный файл .info.yml) и снова введите drush cimкоманду. Это удалит модуль.
Это работает, но правильный способ - восстановить модуль и удалить его. Если этот модуль предоставляет схемы, конфигурацию или около того, он останется в системе, и в противном случае вам придется очистить его вручную.
Бердир
1
@ Бердир, если вы не можете найти пользовательский модуль, мы можем сделать что-то другое?
Адриан Сид
Не совсем, тогда вам нужно сделать это вручную, как предложено выше, с помощью drush cedit или import / export в файле core.extension.
Бердир
0
Я исправил это, используя drush и composer. Получите модуль с require, установите и удалите с помощью drush, затем удалите с помощью composer.
Ответы:
Если у вас Drupal Console, то быстрый способ это исправить - создать модуль с тем же именем компьютера, а затем удалить его.
Затем введите имя машины в соответствующем запросе и примите значения по умолчанию для всего остального.
Затем вы можете удалить вновь созданный модуль из файловой системы и продолжить свой день.
(Примечание: вам может понадобиться сохранить этот сгенерированный модуль, иначе ошибка вернется. В этом случае, если вам нужно установить модуль contrib с тем же именем, удалите сгенерированный модуль после добавления модуля contrib. Затем очистите кеш. )
источник
Предполагая, что вы удалили неважный пользовательский модуль, который не требует запуска какой-либо процедуры удаления, вы можете использовать следующую команду Drush.
Drupal 7
Drupal 8
См. Как исправить «Предупреждения« Следующий модуль отсутствует в файловой системе ... » для получения дополнительной информации и альтернатив.
источник
Теперь с модулем управления конфигурацией конфигурация модулей хранится в файле core.extension.yml.
Перейдите к редактированию файла и попробуйте найти отсутствующий модуль в файловой системе, затем удалите строку и импортируйте config (
drush cim
).Если это не работает, но вы нашли модуль, создайте его снова (только папку и действительный файл .info.yml) и снова введите
drush cim
команду. Это удалит модуль.источник
Я исправил это, используя drush и composer. Получите модуль с require, установите и удалите с помощью drush, затем удалите с помощью composer.
! Шаг с,
drush en
вероятно, не является обязательнымисточник