Existe-t-il une commande permettant de supprimer tous les modules npm globaux? Si non, que proposez-vous?
La commande suivante supprime tous les modules npm globaux. Remarque: cela ne fonctionne pas sous Windows. Pour une version Windows fonctionnelle, voir Answer de Ollie Bennett .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Voici comment cela fonctionne:
npm ls -gp --depth=0
répertorie tous les modules de niveau supérieur globaux (voir la documentation de cli pour ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
affiche tous les modules qui ne sont pas réellement npm (ne se termine pas par /npm
).xargs npm -g rm
supprime tous les modules venant du canal précédentPour ceux qui utilisent Windows, le moyen le plus simple de supprimer tous les packages npm installés globalement consiste à supprimer le contenu de:
C:\Users\username\AppData\Roaming\npm
Vous pouvez vous y rendre rapidement en tapant %appdata%
(soit dans l’Explorateur, soit dans le menu Démarrer, soit dans le menu Démarrer).
J'ai essayé la solution de Kai Sternad mais cela me semblait imparfait. Il restait beaucoup de symboles spéciaux après le dernier awk
de l’arborescence des dépôts elle-même.
Donc, je suis venu avec ma propre modification de la solution de Kai Sternad (avec un peu d'aide de idée de Cashmere ):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0
répertorie tous les modules npm installés globalement au format analysable :
/home/leonid/local/lib
/home/leonid/local/lib/node_modules/bower
/home/leonid/local/lib/node_modules/coffee-script
...
awk -F/node_modules/ '{print $2}'
extrait les noms de modules des chemins, formant la liste de tous les modules installés globalement.
grep -vE '^(npm|)$'
supprime NPM et les lignes vides.
xargs -r npm -g rm
appelle npm -g rm
pour chaque module de la liste.
Comme la solution de Kai Sternad , elle ne fonctionnera que sous * nix.
Sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | Sudo xargs npm remove -g
a travaillé pour moi
Sudo npm list -g --depth=0.
liste tous les niveaux installésawk -F ' ' '{print $2}'
se débarrasse deawk -F '@' '{print $1}'
obtient la partie avant '@'Sudo xargs npm remove -g
supprime le paquet globalementIl suffit de basculer dans votre répertoire %appdata%/npm
et d’exécuter ce qui suit ...
for package in `ls node_modules`; do npm uninstall $package; done;
EDIT: Cette commande rompt avec npm 3.3.6 (Node 5.0). J'utilise maintenant la commande Bash suivante, que j'ai mappée sur npm_uninstall_all dans mon fichier .bashrc:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
Bonus ajouté? c'est beaucoup plus rapide!
https://github.com/npm/npm/issues/10187
Comment désinstaller toutes les dépendances répertoriées dans package.json (NPM)?
Pour ceux qui utilisent Powershell:
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
Pour vider le cache:
npm cache clear
Si vous souhaitez supprimer tous les packages que vous avez installés, vous pouvez utiliser la commande npm -g ls
pour les trouver, puis npm -g rm
pour les supprimer.
sous Windows, utilisez le chemin "C:\Utilisateurs\nom d'utilisateur\AppData\Roaming" et supprimez manuellement le dossier npm
OS non spécifié par OP. Pour Windows, ce script peut être utilisé pour masquer les modules et le cache locaux et globaux de l'utilisateur.
J'ai remarqué sur linux que la racine globale est vraiment globale pour le système plutôt que pour l'utilisateur donné. Donc, supprimer la racine globale peut ne pas être une bonne idée pour un système partagé. Cela dit, je peux porter le script sur bash si vous êtes intéressé.
Pour Windows, enregistrez dans un fichier cmd à exécuter.
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SETLOCAL EnableExtensions
SET /A ecode=0
:: verify
SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])?
IF /I NOT "%conf%"=="y" (
ECHO operation aborted
SET /A ecode=!ecode!+1
GOTO END
)
:: wipe global and local npm root
FOR %%a IN ("" "-g") DO (
:: get root path into var
SET cmd=npm root %%~a
FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r)
:: paranoid
ECHO validating module path "!npm_root!"
IF "!npm_root:~-12!"=="node_modules" (
IF NOT EXIST "!npm_root!" (
ECHO npm root does not exist "!npm_root!"
) ELSE (
ECHO deleting "!npm_root!" ...
:: delete
RMDIR /S /Q "!npm_root!"
)
) ELSE (
ECHO suspicious npm root, ignoring "!npm_root!"
)
)
:: clear the cache
ECHO clearing the npm cache ...
call npm cache clean
:: done
ECHO done
:END
ENDLOCAL & EXIT /b %ecode%
Utilisez ce code pour désinstaller n'importe quel paquet:
npm rm -g <package_name>
Tout ce que vous avez fait du bon travail. Ceci est une combinaison de suggestions dans un code à une ligne.
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
Qu'est-ce qui est différent? La désinstallation se fera en une seule commande comme par exemple: npm rm -g *** *** ***
Eh bien, si vous êtes sur Windows et que vous souhaitez supprimer/désinstaller tous les nœuds_modules, vous devez suivre les étapes suivantes.
Tapez ci-dessous la commande et donnez-la pendant 1-2 minutes, elle désinstallera tous les répertoires du noeud_module
rmdir /s /q node_modules
J'espère que cela aidera quelqu'un sur Windows
si vous avez Intellij Webstorm, vous pouvez utiliser son gestionnaire de paquets graphique intégré.
ouvrez-le en tant que root et créez un projet vide. aller à
Fichier> Paramètres> Langue et cadres> Node.js et NPM
là, vous verrez tous les paquets installés. La désinstallation est facile, vous pouvez sélectionner et désélectionner n’importe quel paquet que vous souhaitez désinstaller, ainsi que Ctrl + woks.
npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g