В версию Друпал 8.6.0 внесено изменение, которое определяет обязательные зависимости профиля. Профиль установки определяет массив dependencies в своём .info-файле для указания на то, какие модули должны быть установлены и включены:
name: Standard
type: profile
description: 'Install with commonly used features pre-configured.'
version: VERSION
core: 8.x
dependencies:
- node
- history
- block
- breakpoint
- ckeditor
...Но на самом деле эти зависимости не рассматриваются как обязательные. Другими словами, если вы установили профиль Standart, вы всё равно можете выключить и удалить модули History или Block если хотите (или любой другой из так называемых зависимостей).
Массив зависимостей будет рассматриваться как набор обязательных зависимостей, которые нельзя будет удалить, потому что профиль без них работает некорректно. В следующем примере, модуль Node является обязательным для работы профиля и удалить его нельзя:
name: My Profile
type: profile
description: 'My install profile.'
core: 8.x
dependencies:
- node
install:
- block_content
- views
- ckeditor
...Если вы хотите просто определить список модулей, которые нужны профилю, но от выключения которых он не перестанет работать корректно, то используйте ключ install:
name: My Profile
type: profile
description: 'My install profile.'
core: 8.x
install:
- block_content
- node
- views
- ckeditor
...Для поддержки обратной совместимости в профилях, которые определяют только массив dependencies и не определяют массив install, массив dependencies будет рассматриваться как массив install.
Такой подход будет удалён в Друпале 9.0.0, поэтому авторам профилей следует выделить из списка install зависимости, без которых профиль не работает корректно. Если профиль зависит от работы всех модулей и не допускает удаление ни одного из них, то нужно определить пустой ключ install:
name: My Profile
type: profile
description: 'My install profile.'
core: 8.x
dependencies:
- block_content
- node
- views
- ckeditor
install: []