Étendre Drupal 10 avec Composer.

Apprendre DrupalPremiers pas
De nos jours, il est courant que les modules contribués de Drupal dépendent de bibliothèques tierces. Certains de ces modules ne s’installent qu’avec Composer. Si vous avez déjà récupéré le cœur de Drupal avec Composer, ou si un module exige Composer, utilisez Composer pour télécharger tous vos modules et thèmes. Mélanger les mises à jour Composer avec d’autres méthodes peut causer des problèmes de mise à jour plutôt épineux.
 

Récupérer des modules et thèmes contribués avec Composer

Vous voulez télécharger des modules ou des thèmes Drupal contribués avec Composer ? Voici comment faire :

  • Saisissez composer require drupal/module_name
  • Par exemple : composer require drupal/token
  • Assurez-vous d’être à la racine de votre installation Drupal

Composer met alors à jour votre composer.json en ajoutant le module à la liste des autres dépendances, comme ceci :

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

Composer télécharge le module et ses éventuelles dépendances.

Pour activer le module Drupal, vous avez deux options :

Pour exiger des modules, utilisez soit le nom du projet, soit le nom du module précis dans un projet :

  • Composer télécharge l’ensemble du projet qui contient le module.
  • Par exemple, pour le module fe_block du projet features_extra, vous avez le choix entre les deux options suivantes :
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

Choisir une version

Pour préciser la version du module ou du thème à télécharger, procédez ainsi :

composer require 'drupal/module_name:version'

(Remplacez simplement version par la version Composer ou la contrainte de version réelle.)

Par exemple :

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' 

Pour éviter tout accroc sur les différents terminaux ou shells, mettez la version entre guillemets, comme dans les exemples ci-dessus.


Attention ! Sous Windows, les guillemets (simples) peuvent fausser la spécification de version et faire échouer l’installation avec « Could not parse version constraint .....’: Invalid version string "....’».

Sans les guillemets, par exemple :

composer require drupal/dxpr_builder:^2.2

Ou avec des guillemets doubles au lieu de guillemets simples, comme ceci :

composer require "drupal/dxpr_builder:^2.2"

Cela devrait fonctionner. Pour en savoir plus, voir Commentaire « Composer problems: could not parse version constraint ».


Dans les exemples ci-dessus, les versions correspondent comme suit :

  • ^1.1: correspond à la dernière version stable 10.x-1.x du module.
  • ~1.1: correspond à la dernière version stable 10.x-3.x du module.
  • 2.2.2-alpha2: correspond à la version 2.2.2-alpha2
  • 2.2.x-dev: correspond à 2.2.x-dev

Pour en savoir plus sur les contraintes de version avec ~ (tilde) et ^ (accent circonflexe), voir Next Significant Release Operators.

Mieux vaut préciser la version du module contribué à télécharger.


Utiliser la recherche Composer

Bonne nouvelle ! Les points de terminaison composer de Drupal.org prennent en charge la Composer search fonction. Vous pouvez donc chercher des projets Drupal directement depuis la ligne de commande. Pour utiliser la recherche Composer, saisissez :

composer search views
 

Utiliser la navigation Composer

Les points de terminaison composer de Drupal.org pour Drupal 7 à 10 prennent aussi en charge la Composer browse fonction. Vous y trouvez des informations complémentaires sur les projets Drupal directement depuis la ligne de commande. Pour utiliser la navigation Composer, saisissez :

composer browse drupal/token