web-dev-qa-db-fra.com

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

Si j'ai un fichier package.json défini dans la racine de mon application et que je lance npm install -g, toutes les dépendances définies dans package.json seront installées de manière globale.

Cependant, cela ne semble pas fonctionner en sens inverse.

Si je fais npm uninstall -g à la racine de mon application, une erreur est générée, ce qui m'oblige à lui passer un nom de paquet.

Cela ne devrait-il pas également désinstaller les mêmes packages que j'ai installés?

Est-ce que je fais quelque chose de mal?

79
qodeninja

Cela a fonctionné pour moi:

commande Invite ou gitbash dans le dossier node_modules de votre projet, puis exécutez:

npm uninstall *

Suppression de tous les packages locaux pour ce projet.

53
Druubacca

Pour les fenêtres, allez dans le répertoire node_modules et lancez-le dans powershell

npm uninstall (Get-ChildItem).Name 
31
Sameer

J'ai récemment trouvé une commande de noeud 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épendance de développement. Au moins, cela m'a aidé à ne pas avoir à le faire manuellement.

19
chalo

En fait, il n'y a pas d'option pour le faire. Si vous souhaitez désinstaller les packages de package.json, il suffit de faire npm ls dans le même répertoire que celui-ci et d'utiliser package.json et d'utiliser npm uninstall <name> ou npm rm <name> pour le package à supprimer.

7
Gntem

Conseil pour les utilisateurs Windows: Exécutez cette commande PowerShell à partir du répertoire node_modules parent:

ls .\node_modules | % {npm uninstall $_}
5
y0n1
// forcibly remove and reinstall all package dependencies
ren package.json package.json-bak
echo {} > package.json
npm Prune
del package.json
ren package.json-bak package.json
npm i

Cela crée essentiellement un faux package.json vide, appelle npm Prune pour tout supprimer dans node_modules, restaure le package.json d'origine et réinstalle tout.

Certaines des autres solutions pourraient être plus élégantes, mais je suppose que cela est plus rapide et exhaustif. Sur d'autres threads, des personnes suggèrent de supprimer simplement le répertoire node_modules, mais au moins pour Windows, cela provoquera un étranglement de npm car le répertoire bin est manquant. Peut-être que sur Linux, il est restauré correctement, mais pas sous Windows.

3
meem
  1. supprimer les dépendances indésirables de package.json
  2. npm i

"npm i" n'installera pas seulement les deps manquants, il mettra à jour node_modules pour correspondre à package.json

0
Misaka_0x447f

Même vous n'avez pas besoin de courir la boucle pour cela.

Vous pouvez supprimer tous les node_modules en utilisant la seule commande: -

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

Utilisateurs de Powershell: foreach($package in ls node_modules){npm uninstall $package}

Merci @JustMailer

0
Valentine Bondar