Розширення Drupal 10 за допомогою Composer.

Вивчення DrupalПочаток роботи
Нині долучені модулі Drupal доволі часто залежать від сторонніх бібліотек. Деякі з цих модулів можна встановити лише за допомогою Composer. Якщо ви вже отримали ядро Drupal через Composer або якщо модуль вимагає Composer, вам слід завантажувати всі свої модулі й теми через Composer. Якщо поєднувати оновлення через Composer з іншими способами, можна натрапити на доволі прикрі проблеми з оновленнями.
 

Отримання долучених модулів і тем за допомогою Composer

Отже, хочете завантажувати долучені модулі чи теми Drupal через Composer? Ось як:

  • Введіть composer require drupal/module_name
  • Наприклад: composer require drupal/token
  • Переконайтеся, що ви перебуваєте в корені своєї інсталяції Drupal

Після цього Composer розумно оновить ваш файл composer.json, додавши модуль до списку інших залежностей, ось так:

{
    "require": {
        "drupal/token": "^1.5"
    }
} 

Composer завантажить модуль і всі потенційні залежності, які той може мати.

Щоб увімкнути модуль Drupal, ви маєте кілька варіантів:

Додаючи модулі, можна використовувати або ім’я проєкту, або ім’я конкретного модуля в проєкті:

  • Composer завантажить увесь проєкт, що містить певний модуль.
  • Наприклад, якщо вам потрібен модуль fe_block із проєкту features_extra, можна вибрати будь-який із таких варіантів:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

Вибір версії

Якщо хочете вказати версію модуля або теми для завантаження, зробіть так:

composer require 'drupal/module_name:version'

(Просто замініть version на справжню версію Composer або обмеження версії.)

Наприклад:

composer require 'drupal/dxpr_builder:^1.1' 
composer require 'drupal/dxpr_builder:~1.1' 
composer require 'drupal/dxpr_builder:2.2.2-alpha2' 
composer require 'drupal/dxpr_builder:2.2.x-dev' 

Щоб уникнути проблем у різних терміналах чи оболонках, беріть версію в лапки, як у прикладах вище.


Увага! У Windows використання (одинарних) лапок може фактично зламати специфікацію версії, спричинивши помилку встановлення з повідомленням 'Could not parse version constraint .....': Invalid version string "....'".

Без лапок, наприклад:

composer require drupal/dxpr_builder:^2.2

Або за допомогою подвійних лапок замість одинарних, ось так:

composer require "drupal/dxpr_builder:^2.2"

Має спрацювати як слід. Докладніше див. Коментар «Проблеми з Composer: “could not parse version constraint”».


У прикладах вище версії відповідають такому:

  • ^1.1: відповідає найновішому стабільному релізу модуля 10.x-1.x.
  • ~1.1: відповідає найновішому стабільному релізу модуля 10.x-3.x.
  • 2.2.2-alpha2: відповідає версії 2.2.2-alpha2
  • 2.2.x-dev: відповідає 2.2.x-dev

Докладніше про обмеження версій із ~ (тильда) і ^ (циркумфлекс) див. Оператори наступного значущого релізу.

Варто вказувати версію долученого модуля, який хочете завантажити.


Використання пошуку Composer

Гарні новини! Кінцеві точки composer сайту Drupal.org підтримують функцію пошуку Composer. Це означає, що шукати проєкти Drupal можна просто з командного рядка. Щоб скористатися пошуком Composer, введіть:

composer search views
 

Використання перегляду Composer

Кінцеві точки composer сайту Drupal.org для Drupal від 7 до 10 також підтримують функцію перегляду Composer. Вона дозволяє знаходити додаткову інформацію про проєкти Drupal просто з командного рядка. Щоб скористатися переглядом Composer, введіть:

composer browse drupal/token