Je recherche une commande simple pour exécuter calculer la taille de tous les node_modules installés globalement (pas ceux situés dans les projets)
3 Réponses :
si vous utilisez NVM:
trouver ~ / .nvm -type d -name 'node_modules' | xargs du -csh | total de grep
Vous pouvez modifier la commande find si vous n'utilisez pas nvm ou si vous souhaitez également inclure des projets. Si vous voulez trouver où se trouvent les modules_noeud globaux, exécutez npm list -g et il vous indiquera où se trouvent les paquets.
J'étais aussi curieux à ce sujet. Cette commande devrait fonctionner:
find . -type d -name node_modules | grep -v node_modules.*node_modules | tr '\n' '\0' | xargs -0 du -sch
Explication rapide:
La première partie est simple, trouvez. -type d -name node_modules
trouve chaque répertoire -type d
nommé node_modules
sous le répertoire courant .
Cependant, cela inclut également les imbriqués Répertoires node_modules comme site/node_modules/some-lib/node_modules
.
Nous voulons uniquement le premier node_modules
, donc un grep inverse grep -v node_modules. * node_modules
supprime tout chemin correspondant contenant plus d'un node_modules
.
La commande tr '\ n' '\ 0'
est uniquement là pour empêcher la commande xargs
suivante de s'étouffer avec les noms de fichiers avec des espaces ou des caractères spéciaux. Cela remplace les retours de ligne normaux \ n
par des caractères ASCII NUL \ 0
.
Enfin, xargs -0 du -sch
rassemble tout dans une liste d'arguments et transmet le résultat à du -sch
qui rapporte l'utilisation du disque pour chaque entrée et un total cumulatif utilisant une sortie "lisible par l'homme".
J'ai trouvé un peu plus de 6 Go de répertoires node_modules
assortis dans mon dossier de projets.
Moi aussi, j'avais plus de 6 Go accumulés. Ensuite, j'ai lancé find. -type d -name modules_noeud | grep -v modules_noeud. * modules_noeud | tr '\ n' '\ 0' | xargs -0 rm -rf
J'utilise cette commande find. -nom "modules_noeud" -type d -prune -print | xargs du -chs