Вы здесь

Профили установки могут определять обязательные зависимости

Оглавление документа

В версию Друпал 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 если хотите (или любой другой из так называемых зависимостей)

С версии 8.6.0

Массив зависимостей будет рассматриваться как набор обязательных зависимостей, которые нельзя будет удалить, потому что профиль без них работает некорректно. В следующем примере, модуль 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, поэтому авторам профилей следует выделить из списка install зависимости, без которых профиль не работает корректно. Если профиль зависит от работы всех модулей и не допускает удаление ни одного из них, то нужно определить пустой ключ install:

name: My Profile
type: profile
description: 'My install profile.'
core: 8.x
dependencies:
  - block_content
  - node
  - views
  - ckeditor
install: []