141 votes

Comment désinstallez-vous toutes les dépendances répertoriées dans package.json (NPM)?

Si j'ai un fichier package.json défini à la racine de mon application et que j'exécute npm install -g, il installera toutes les dépendances définies dans package.json, de manière globale.

Cependant, cela ne semble pas fonctionner dans l'autre sens.

Si je fais npm uninstall -g à la racine de mon application, cela renvoie une erreur, en attendant que je lui passe un nom de package.

Ne devrait-il pas désinstaller aussi les mêmes packages que j'ai installés?

Est-ce que je fais quelque chose de mal?

196voto

mrjedmao Points 1655

Si vous utilisez Bash, basculez simplement dans le dossier contenant votre fichier package.json et exécutez la commande suivante :

for package in `ls node_modules`; do npm uninstall $package; done;

Dans le cas des packages installés globalement, basculez dans votre dossier %appdata%/npm (si vous êtes sur Windows) et exécutez la même commande.

MODIFICATION : Cette commande ne fonctionne pas avec npm 3.3.6 (Node 5.0). J'utilise désormais la commande Bash suivante, que j'ai associée à npm_uninstall_all dans mon fichier .bashrc :

npm uninstall `ls -1 node_modules | tr '/\n' ' '`

Le bonus ? c'est beaucoup plus rapide!

https://github.com/npm/npm/issues/10187

107voto

Druubacca Points 1105

Cela a fonctionné pour moi:

Ouvrez l'invite de commandes ou gitbash dans le dossier node_modules de votre projet, puis exécutez:

npm uninstall *

Cela supprime toutes les packages locales de ce projet.

40voto

chalo Points 853

Récemment, j'ai trouvé une commande node qui permet de désinstaller toutes les dépendances de développement comme suit:

npm prune --production

Comme je l'ai mentionné, cette commande désinstalle uniquement les packages de dépendances de développement. Au moins cela m'a aidé à ne pas avoir à le faire manuellement.

39voto

Mokchhya Points 576

Pour Windows, allez dans le répertoire node_modules et exécutez ceci dans PowerShell

npm uninstall (Get-ChildItem).Name

10voto

y0n1 Points 157

Astuce pour les utilisateurs de Windows : Exécutez cette commande PowerShell depuis le répertoire parent node_modules :

ls .\node_modules | % {npm uninstall $_}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X