Comment désinstaller les modules npm dans le nœud js?


1132

Comme communément connu, tout module NPM peut être installé en exécutant une commande simple: npm install <module_name>.

J'ai installé quelques modules que je n'utilise plus et je veux juste les retirer. J'ai quelques questions à ce sujet:

  • Avons-nous une commande ou un processus pour désinstaller un module de la racine (quelque chose comme npm uninstall <module_name>) ou supprimerons-nous simplement les fichiers du module?

  • Comment cela nous affecte-t-il si nous conservons les modules inutilisés?


2
Si vous souhaitez supprimer tous les modules npm, rendez-vous ici: stackoverflow.com/questions/9283472/…
daniel

Réponses:


1731

La commande est simplement npm uninstall <name>

Les documents Node.js https://npmjs.org/doc/ contiennent toutes les commandes que vous devez connaître avec npm.

Une installation locale sera dans le node_modules/répertoire de votre application. Cela n'affectera pas l'application si un module y reste sans référence.

Cependant, si vous supprimez un package global, toutes les applications qui y font référence se bloqueront.

Voici différentes options:

npm uninstall <name>supprime le module node_modulesmais ne le met pas à jourpackage.json

npm uninstall <name> --saveil supprime également de dependenciesenpackage.json

npm uninstall <name> --save-devil supprime également de devDependenciesenpackage.json

npm uninstall -g <name> --save le supprime également à l'échelle mondiale


19
essayez ceci npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rmpour désinstaller tous les modules installés globalement. si vous êtes sur Windows, vous devez installer Cygwin ou git pour l'exécuter
Nur Rony

1
Pour désinstaller tous les modules globaux: stackoverflow.com/questions/5926672/... et supprimer node_modules dossier Pour désinstaller tous les modules locaux de suppression node_modules locaux dossier
DanteTheSmith

1
J'ai essayé de supprimer cypress@3.1.4 en utilisant toutes les commandes répertoriées ci-dessus, et il est toujours là
Steve Staple

20
npm uninstall <name> now removes the module from both package.json` etnode_modules
philip oghenerobo balogun

1
à partir de 2019, le nœud 13 (je crois que 10+ également) supprime les packages de package.json vianpm uninstall <name>
Maksim Shamihulau

86

Si cela ne fonctionne pas, npm uninstall <module_name>essayez-le globalement en tapant -g.

Peut-être que vous avez juste besoin de le faire en tant que super-utilisateur / administrateur avec sudo npm uninstall <module_name>.


4
-gest utile s'il y a un npm WARN uninstall.
Lorem Ipsum Dolor

49

Eh bien pour donner une réponse complète à cette question, il existe deux méthodes : (par exemple nous appelons le module installé comme module1)

  1. Pour supprimer module1 sans modifier package.json:

    npm uninstall module1

  2. Pour supprimer module1 en modifiant package.json et en le supprimant des dépendances dans package.json:

    npm uninstall --save module1

Remarque: pour simplifier les commandes mentionnées ci-dessus, vous pouvez utiliser -S au lieu de --save , et pouvez utiliser remove , rm , r , un , unlink au lieu de désinstaller


Par souci d'exhaustivité, il faut être prudent s'il veut supprimer la dépendance GLOBALE ou LOCALE. Pour les mondiaux, utilisez -g avec ce qui précède! Aussi: Pour désinstaller tous les modules globaux: stackoverflow.com/questions/5926672/... et supprimer node_modules dossier Pour désinstaller tous les modules locaux de suppression node_modules locaux dossier
DanteTheSmith

28

J'installe simplement le stylet par défaut sous mon répertoire personnel, donc je l'utilise juste npm uninstall styluspour le détacher, ou vous pouvez essayer npm rm <package_name>.


17

Pour désinstaller le module de noeud:

npm uninstall <module_name>  

Cela supprimera le module de node_modules, mais pas de package.json. Ainsi, lorsque nous réinstaller npm, il téléchargera le module.

Donc, pour supprimer le module de package.json, utilisez:

npm uninstall <module_name> --save  

Cela supprime également la dépendance de package.json.

Et si vous souhaitez désinstaller n'importe quel module globalement, vous pouvez utiliser:

npm -g uninstall <module_name> --save 

Cela supprimera la dépendance globalement.


7

Pour supprimer des packages en node_modules/bloc, vous pouvez également les supprimer package.json, les enregistrer, puis les exécuter npm prunesur le terminal.

Cela supprimera ces packages, qui existent dans le système de fichiers, mais ne sont pas utilisés / déclarés package.json.

PS> Ceci est particulièrement utile sous Windows, car vous pouvez souvent rencontrer des problèmes pour ne pas pouvoir supprimer certains fichiers en raison de la "limite de longueur de chemin dépassée".


6

J'ai découvert cela à la dure, même si cela semble évident.

J'ai d'abord essayé de parcourir le répertoire node_modules en cours npm uninstall module-named' exécution avec une simple boucle for dans un script. J'ai découvert que cela ne fonctionnera pas si vous appelez le chemin complet, par exemple

npm uninstall module-name

travaillait, mais

npm uninstall /full/path/to/node_modules/module-name 

ne fonctionnait pas.


6

Vous pouvez également exécuter les raccourcis suivants:

npm un packageName ou npm rm packageName

Remarque: ajoutez -gà la fin de la commande pour désinstaller les packages globaux.


4

Pour les utilisateurs Windows - Si vous souhaitez supprimer tous les modules de nœuds installés en même temps:

  • Powershell ouvert
  • Aller dans le dossier node_modules (cd node_modules)
  • Exécutez cette commande - "npm uninstall (Get-ChildItem) .Name"

Il désinstallera tous les modules.


4

Parfois, npm uninstall -g packageNameça ne marche pas.

Dans ce cas, vous pouvez supprimer le package manuellement.

Sur Mac, allez dans le dossier /usr/local/lib/node_moduleset supprimez le dossier avec le package souhaité. C'est ça. Vérifiez votre liste de packages installés globalement avec cette commandenpm list -g --depth=0


Juste curieux, pourquoi "npm uninstall -g packageName" ne fonctionne-t-il pas dans certains cas?
Mwiza

parce que c'est un énorme code buggé ... il est vraiment difficile de s'adapter à chaque version du système d'exploitation. Je pense que c'est la raison
Nastro

3

Mise à jour npm 5:

Depuis npm 5.0.0 , les modules installés / désinstallés sont ajoutés / supprimés en tant que dépendance par défaut, donc l'option --save n'est plus nécessaire.

courir

npm uninstall <package>

par exemple:

npm uninstall mongodb

Il supprimera également le module du dossier node_modules et du fichier package.json.


1
Vrai; si vous voulez l'ancien comportement par défaut (en laissant package.json intact), utilisez l'indicateur --no
Marcus

2

L' uninstalloption n'a pas fonctionné pour moi lorsque j'ai essayé d'utiliser la même commande que celle que j'ai utilisée lors de l'installation (comme je l'installais avec la @latestdirective)

Ainsi, par exemple, j'ai installé un package comme celui-ci:

npm install  @ngtools/webpack@latest

Et puis je voulais le désinstaller donc j'ai utilisé la même commande (y compris @latest)

npm uninstall  @ngtools/webpack@latest

Donc, la désinstallation ci-dessus n'a pas fonctionné, je dois supprimer le @latest& puis cela a bien fonctionné

npm uninstall  @ngtools/webpack

J'espère que ça aide


1
# login as root (might be required depending on install)
su - 
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm

1

La solution la plus simple est:

npm uninstall packageName --save-dev

Voir les noms des packages de niveau supérieur dans votre projet:

npm list --depth=0

La sortie sera comme:

app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4

Copiez le nom du package et exécutez la commande de désinstallation npm. Exemple de colis express:

npm uninstall express --save-dev

1

Pour désinstaller un module à l'aide de npm, vous pouvez utiliser:

npm uninstall moduleName

De plus, si vous souhaitez désinstaller et que la modification soit reflétée dans votre package.json, vous pouvez utiliser l'indicateur --save, comme ceci:

npm uninstall moduleName --save
OR
npm uninstall -S

Et si vous souhaitez désinstaller un module de devDependencies et que la modification soit reflétée dans package.json, vous pouvez utiliser l'indicateur -D, comme ceci:

npm uninstall moduleName -D

1

Pour désinstaller le module de noeud:

npm uninstall <module_name>  

Cela supprimera le module de node_modules, mais pas de package.json.

Supprimez le module de package.json use en utilisant cette commande:

npm uninstall <module_name> --save 

Cela supprime également de package.json.


0

De plus, si vous avez commencé à utiliser yarn, à la place de npm:
yarn remove <package-name>

Est l'équivalent de:
npm uninstall <package-name> --save

Cela va
- supprimer le package de package.json, ainsi que
- le désinstaller du node-modulesdossier de votre projet


0

Vous pouvez supprimer un module de noeud manuellement. Pour les fenêtres,

  1. Accédez au node_modulesrépertoire de votre référentiel.

  2. Supprimez le module de nœud dont vous ne voulez pas.

  3. N'oubliez pas de supprimer la référence au module dans votre package.json! Votre projet peut toujours s'exécuter avec la référence, mais vous pouvez obtenir une erreur. Vous ne voulez pas non plus laisser de références inutilisées dans votre package.jsonqui pourraient causer de la confusion plus tard.


-1

Utilisation

npm uninstall <package_name>

Exemple pour désinstaller express

npm uninstall express

-1

Dans le cas où vous êtes Windows exécutez CMD en tant qu'administrateur et tapez npm -g uninstall <package name>.


-2

Si vous souhaitez désinstaller un certain nombre de modules, exécutez simplement le npm uninstall. Ensuite, accédez à package.jsonet supprimez le module indésirable de là, puis exécutez simplement la commande npm install. Cela devrait résoudre votre problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.