Comment supprimer les dépendances inutilisées du compositeur?

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.

Mettre à jour

À 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