Lorsque vous mettez à jour WinterCMS via Composer, il peut y avoir différents types de blocages liés à des conflits de dépendances ou à des limitations système. Voici un guide complet des commandes et des solutions pour réussir la mise à jour en gérant les problèmes les plus fréquents.
Table of Contents
Mise à jour de Composer vers la version 2
Si vous utilisez encore Composer 1, il est fortement recommandé de passer à Composer 2, qui est plus performant et supporté plus longtemps.
Commande de mise à jour vers Composer 2 :
composer self-update --2
Cette commande met à jour Composer vers la version 2, ce qui est nécessaire pour éviter les futurs blocages liés à la fin de support de Composer 1 en août 2025.
Commandes pour la mise à jour de WinterCMS
Avant de commencer, assurez-vous que Composer est à jour.
Commande principale de mise à jour :
COMPOSER_ROOT_VERSION=1.2.6 php -d memory_limit=-1 /usr/local/bin/composer update --with-all-dependencies
Cette commande permet de forcer la mise à jour de WinterCMS en définissant la version explicitement avec COMPOSER_ROOT_VERSION
(1.2.6 dans cet exemple), tout en supprimant les limitations de mémoire (memory_limit=-1
). Elle prend en compte toutes les dépendances avec l’option --with-all-dependencies
.
Résolution des conflits de plugins : Désinstaller temporairement un plugin qui pose problème
Un des blocages courants survient lorsque un plugin entre en conflit avec la mise à jour. Par exemple, prenons le plugin winter/wn-user-plugin
. Dans ce cas, la solution consiste à désinstaller temporairement le plugin, effectuer la mise à jour, puis le réinstaller ensuite.
Étapes pour contourner le conflit :
Retirer temporairement wn-user-plugin
de composer.json
:
Ouvrez votre fichier composer.json
et commentez ou supprimez la ligne suivante :
"winter/wn-user-plugin": "^2.2.1"
Exécuter la mise à jour :
Une fois la ligne retirée, exécutez la mise à jour complète :
COMPOSER_ROOT_VERSION=1.2.6 php -d memory_limit=-1 /usr/local/bin/composer update --with-all-dependencies
Réinstaller le plugin wn-user-plugin
:
Après la mise à jour, réinstallez le plugin avec la commande suivante :
composer require winter/wn-user-plugin
Conseils supplémentaires pour éviter les blocages
- Vérifiez la mémoire disponible : Si vous rencontrez des erreurs de mémoire (comme l’erreur « Allowed memory size of X bytes exhausted »), assurez-vous d’avoir suffisamment de mémoire disponible pour Composer. Vous pouvez utiliser un fichier swap sur des environnements limités en mémoire.
- Dépannage des dépendances : Si des erreurs de dépendance apparaissent, vous pouvez essayer de forcer la mise à jour de toutes les dépendances avec l’option
--with-all-dependencies
.
Conclusion
La mise à jour de WinterCMS peut parfois être compliquée par des conflits de dépendances ou des limitations de mémoire. En suivant ces étapes, notamment en mettant à jour Composer, en définissant explicitement la version avec COMPOSER_ROOT_VERSION
, et en désinstallant temporairement les plugins conflictuels, vous pouvez éviter la plupart des blocages.