Mettre à jour le cœur de Drupal avec Composer.

Learn DrupalDrupal-woordenlijst

Cet article suppose que vous avez installé Drupal avec un projet composer comme drupal/core-recommended or drupal/dxpr-marketing-cms-project

Lister les mises à jour Drupal disponibles

composer outdated "drupal/*"

Si aucune ligne ne commence par drupal/core, Composer ne connaît aucune mise à jour. S’il y a une mise à jour, continuez avec les commandes ci-dessous

Créer une sauvegarde de votre instance Drupal

Pour mettre à jour un site en production, créez toujours une sauvegarde avant la mise à jour, même si vous l’avez testée avec succès sur un environnement de développement ou de test. Utilisez les outils de votre hébergeur pour créer une sauvegarde ou un instantané de votre site Drupal.

Mettre à jour le code du cœur de Drupal

si vous utilisez drupal/core-recommended:

composer update "drupal/core-*" --with-all-dependencies

Pour simuler la mise à jour et voir ce qui se passerait, sans rien changer, ajoutez --dry-run.

Mettre à jour vers le dernier patch du cœur

Pour mettre à jour votre site vers le dernier patch, mais pas vers la dernière version mineure, ajoutez --with= options pour chaque drupal/core-* dépendance listée dans composer.json.

Par exemple, si 10.2 est la version mineure actuelle et que vous voulez mettre à jour votre site vers le dernier patch de la 10.3 :

composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~10.3.0 --with=drupal/core-composer-scaffold:~10.3.0

Cet exemple suppose que  drupal/core-recommended et drupal/core-composer-scaffold sont les seules dépendances du cœur de Drupal dans composer.json.

Mettre à jour vers une version précise du cœur

En général, mieux vaut ne pas préciser de version du cœur de Drupal lors d’une mise à jour, sauf si vous voulez épingler une version précise. Pour épingler votre site à une version précise, utilisez l’exemple suivant : 

Pour épingler votre site à la version 10.3.6 et mettre à jour toutes les dépendances en conséquence : 

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

Avertissement : Si vous épinglez votre site à une version précise du cœur, cette version sera ajoutée au fichier de verrouillage, et les mises à jour futures ne la dépasseront pas. Réexécutez la commande require comme indiqué ci-dessous pour revenir à une version « non épinglée » du cœur.

Désépingler une version précise du cœur

Si votre site utilise une version épinglée du cœur de Drupal et que vous voulez passer à une autre version, vous avez deux choix.

  1. Vous pouvez exécuter la commande composer require ci-dessus pour préciser une nouvelle version épinglée du cœur. 
  2. Vous pouvez désépingler votre version du cœur et mettre à jour vers la dernière version de Drupal.

Pour désépingler votre version de Drupal, exécutez cette commande : 

composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies

Exécuter les mises à jour de base de données

Pour plus de commodité, nous avons inclus les commandes Drush nécessaires pour terminer une mise à jour ; beaucoup trouvent Drush plus rapide et plus facile que la zone d’administration web.

Vous pouvez utiliser drush :

drush updatedb
drush cache:rebuild

Ou visitez [YOUR DOMAIN]/update.php dans un navigateur.