Drupal 10 uitbreiden met Composer.

Drupal lerenAan de slag
Tegenwoordig leunen contributed Drupal-modules vaak op bibliotheken van derden. Sommige van deze modules installeer je alleen met Composer. Heb je Drupal-core al met Composer opgehaald, of eist een module Composer, gebruik Composer dan voor al je modules en thema’s. Combineer je Composer-updates met andere methoden, dan loop je tegen behoorlijk vervelende updateproblemen aan.
 

Contributed modules en thema’s ophalen met Composer

Wil je contributed Drupal-modules of thema’s met Composer downloaden? Zo doe je dat:

  • Typ composer require drupal/module_name
  • Bijvoorbeeld: composer require drupal/token
  • Zorg dat je in de root van je Drupal-installatie staat

Composer werkt daarna je composer.json slim bij en voegt de module aan de lijst met andere vereisten toe, zoals hier:

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

Composer downloadt de module en alle afhankelijkheden die hij eventueel heeft.

Om de Drupal-module in te schakelen, heb je een paar opties:

Bij het requiren van modules gebruik je de projectnaam of de specifieke modulenaam binnen een project:

  • Composer downloadt het hele project met daarin een bepaalde module.
  • Heb je bijvoorbeeld de module fe_block nodig uit het project features_extra, kies dan een van de volgende opties:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

Een versie kiezen

Wil je de versie opgeven van de module of het thema dat je downloadt, doe het dan zo:

composer require 'drupal/module_name:version'

(Vervang version gewoon door de echte Composer-versie of versie-eis.)

Bijvoorbeeld:

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' 

Om problemen op verschillende terminals of shells te voorkomen, zet je de versie tussen aanhalingstekens, net als in de voorbeelden hierboven.


Let op! Op Windows gooien (enkele) aanhalingstekens mogelijk roet in het eten bij de versieopgave, met een mislukte installatie met ‘Could not parse version constraint .....': Invalid version string “....'”.

Zonder de aanhalingstekens, bijvoorbeeld:

composer require drupal/dxpr_builder:^2.2

Of met dubbele aanhalingstekens in plaats van enkele, zoals hier:

composer require "drupal/dxpr_builder:^2.2"

Dan werkt het prima. Zie voor meer info Reactie ‘Composer problems: “could not parse version constraint”’.


In de voorbeelden hierboven komen de versies als volgt overeen:

  • ^1.1: komt overeen met de nieuwste stabiele 10.x-1.x-release van de module.
  • ~1.1: komt overeen met de nieuwste stabiele 10.x-3.x-release van de module.
  • 2.2.2-alpha2: komt overeen met versie 2.2.2-alpha2
  • 2.2.x-dev: komt overeen met 2.2.x-dev

Lees meer over versie-eisen met ~ (tilde) en ^ (caret) bij Next Significant Release Operators.

Geef verstandig de versie op van de contributed module die je wilt downloaden.


Composer search gebruiken

Goed nieuws! De composer-eindpunten van Drupal.org ondersteunen de functie Composer search. Daarmee zoek je vanaf de opdrachtregel direct naar Drupal-projecten. Om Composer search te gebruiken, typ je:

composer search views
 

Composer browse gebruiken

De composer-eindpunten van Drupal.org voor Drupal 7 tot en met 10 ondersteunen ook de functie Composer browse. Daarmee vind je vanaf de opdrachtregel extra informatie over Drupal-projecten. Om Composer browse te gebruiken, typ je:

composer browse drupal/token