Supprimer TOUS les dossiers node_modules de votre machine

node_modules : objet le plus lourd de l'univers.

Au fur et à mesure des projets sur lesquelles j’ai travaillé, j’ai exécuté npm install un certains nombres de fois. Cela à pour conséquence la création de répertoires node_modules sur mon répertoire de travail.

Ces répertoires node_modules sont souvent oublié, peu ou plus utilisé.
La plupart du temps, je n’ai même plus besoin des projets qui contiennent ces répertoires. Ces projets n’étant plus maintenu.

Tester d’abord

J’ai trouvé une ligne de commande qui permet de lister ces dossiers et de voir la taille qu’ils font.
Je vous conseille, bien évidemment, de tester cette commande et de vous assurer qu’elle fonctionne correctement.

Dans votre terminal, allez d’abord dans votre répertoire de travail. Personnellement, j’utilise la commande suivante :

cd /home/jeff/www/html

Ensuite, exécutez ce code.

# Mac/Linux
find . -name "node_modules" -type d -prune -print | xargs du -chs

# Windows
FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" echo %d"

Cela donnera une liste de tous les dossiers node_modules qu’il trouve, et combien d’espace disque ils occupent (individuellement et au total).

Répertoire de travail et node_modules.
Taille des répertoires node_modules

Mes répertoires commencent à 8-10Mo pour mes plus petits projets. Ils peuvent aller jusqu’à 200Mo pour mes projets les plus gros. Un total de 1.4Go de dossier. Donc une partie ne sert plus.
Je trouve le résultat énorme, sachant que j’avais déjà fait un peu le ménage de mon répertoire en début d’années.

Suppression des fichiers

Pour supprimer chaque répertoires node_modules de l’ordinateur et réinstaller ceux dont vous avez besoin, il existe une autre commande.
Si vous êtes satisfait du résultat précédent, vous pouvez effectuer cette autre commande.

# Mac/Linux
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

# Windows
FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" rm -rf "%d"

Et voilà. Vous avez enfin libérer de la place.

Liens

Cet article est inspiré de 2 articles traitant de ce sujet :