Как удалить все каталоги node_modules с компьютера
За последние несколько лет я запускал npm install
больше раз, чем смогу сосчитать. И как результат на компьютере образовалось довольно много каталогов node_modules
, о которых я давно уже забыл и не использую.
Зачастую проект мне больше не нужен, но бывает и так, что это кодовая база, с которой я всё же изредка работаю.
И вот на днях я решил удалить со своего компьютера все каталоги node_modules
и выборочно переустановить те, которые мне могут понадобиться.
Работка могла бы быть действительно долгая и трудная, делай я всё вручную. Но, нашелся способ как сделать это при помощи всего лишь одного сценария командной строки.
Сначала тестирование
Перед тем как удалить все каталоги node_modules, рекомендую протестировать скрипт и убедиться, что он не удалит то, что тебе нужно.
Во-первых, в окне терминала/интерфейса командной строки переходим в любой каталог, содержащий большую часть твоих проектов.
cd ~/ПУТЬ_К_ПАПКЕ
Затем запускаем этот код.
# 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"
После этого будет выведен список всех найденных node_modules
и сколько дискового пространства они занимают (по отдельности и в целом).
Собственно удаление файлов
Если тебя устраивает то, что обнаруживает скрипт - можешь удалить все каталоги со своего компьютера.
ПРИМЕЧАНИЕ. Соблюдай осторожность и убедись, что ты находишься в каталоге, откуда ты удаляешь все экземпляры node_modules
. Запусти приведенный выше сценарий, чтобы просмотреть их полный список перед удалением.
На самом деле этот скрипт очень похож на приведенный выше. Но, чтобы полностью всё удалить, мы будем использовать rm -rf
.
# 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"
В заключение
- обязательно перечисли все
node_modules
в данном каталоге ПЕРЕД их удалением. - будь осторожен, так как этот процесс необратим!
- не забудь снова установить npm для проектов, над которыми работаешь.