J’ai installé un package avec composer, et il a installé de nombreux autres packages en tant que dépendances.
Maintenant, j’ai désinstallé le package principal avec composer remove packageauthor/packagename
, mais toutes les anciennes dépendances n’ont pas été supprimées. Je m’attendais à ce que le compositeur nettoie et ne garde que les paquets requirejs en fonction de composer.json
et de leurs dépendances.
Comment puis-je forcer le compositeur à nettoyer et à supprimer tous les paquets inutilisés?
La bonne façon de faire est de:
composer remove jenssegers/mongodb --update-with-dependencies
Je dois admettre que le drapeau n’est pas tout à fait évident quant à ce qu’il fera.
À partir de la version 1.0.0- --update-with-dependencies
est la valeur par défaut et n’est plus requirejse.
En fait, c’est très facile.
composer update
fera tout cela pour vous, mais il mettra également à jour les autres paquets.
Pour supprimer un paquet sans mettre à jour les autres, spécifiez ce paquet dans la commande, par exemple:
composer update monolog/monolog
va supprimer le monolog/monolog
.
Néanmoins, certains dossiers ou fichiers vides ne peuvent pas être supprimés automatiquement et doivent être supprimés manuellement.
Il suffit d’exécuter le composer install
– votre répertoire vendor
reflétera les dépendances dans le fichier composer.lock
.
En d’autres termes – il supprimera tout fournisseur manquant dans composer.lock
.
Veuillez mettre à jour le compositeur avant de l’exécuter.
les commandes suivantes feront exactement la même chose
rm -rf vendor composer install