Гид по технологиям

Как очистить папки node_modules с помощью npkill

4 min read Node.js Обновлено 29 Nov 2025
Как очистить node_modules с npkill
Как очистить node_modules с npkill

Корзина для мусора со знаком переработки

Node.js — среда выполнения JavaScript вне браузера, популярная для разработки серверных и утилитарных приложений. Репозитории и проекты на Node часто содержат большую папку node_modules: зависимости могут занимать гигабайты и засорять диск. npkill помогает быстро выявить такие папки и удалить их безопасно и удобно.

Что такое npkill и как его использовать

npkill — это лёгкий пакет, доступный через npx, который сканирует файловую систему начиная с текущей директории и показывает список найденных папок node_modules с указанием занимаемого места. Перед использованием убедитесь, что на компьютере установлены Node.js и npm.

Запустить npkill просто — в терминале выполните:

npx npkill

Команда просканирует текущую директорию (и её поддиректории) в поисках node_modules и покажет интерактивный список. В интерфейсе используйте стрелки вверх/вниз для навигации, клавишу Space для удаления выбранной папки и Q или Ctrl+C для выхода из меню.

Запуск npkill в терминале, список папок node_modules

Важно: npkill удаляет только папки node_modules, а не package.json или другие файлы проекта.

Пошаговая методология безопасной очистки

  1. Убедитесь, что проект не активно выполняется (остановите dev-серверы, сборки, CI).
  2. Перейдите в корень ветки/директории, с которой хотите начать: cd /путь/к/директории.
  3. Запустите npx npkill и изучите список.
  4. Отметьте стрелками и нажмите Space для папок, которые хотите удалить.
  5. После удаления, при необходимости, восстановите зависимости командой npm install или pnpm install.

Короткая команда восстановления:

npm install

Когда стоит и когда не стоит удалять node_modules

  • Удалять стоит, если проект давно не развивался, занимает много места и его легко переустановить.
  • Не удаляйте node_modules у активных проектов без резервной копии или если у вас есть незакоммиченные локальные изменения в node_modules (редко, но возможно).

Important: удаление node_modules необратимо — для возврата потребуется повторная загрузка пакетов из реестра (npm, yarn, pnpm).

Когда npkill может не помочь (ограничения)

  • Моно-репозитории: в монорепозиториях с кастомной структурой npkill может пропустить нестандартные расположения зависимостей.
  • Права доступа: если у вас недостаточно прав, npkill может не иметь возможности удалить некоторые каталоги — в этом случае используйте sudo или исправьте права, но делайте это осознанно.
  • Кастомные менеджеры пакетов: некоторые менеджеры (например, нестандартные кеши) могут хранить зависимости в других местах — npkill ищет стандартные папки node_modules.

Альтернативные подходы

  • Использовать специализированные команды очистки в CI/CD или скриптах (npm ci очищает и устанавливает зависимости заново).
  • Удалять вручную через файловый менеджер или rm -rf node_modules (опасно, легко ошибиться с путём).
  • Инструменты вроде depcheck помогают найти неиспользуемые зависимости, что уменьшит размер node_modules при удалении и переустановке.

Быстрые советы для разных ролей

  • Для разработчика: перед удалением убедитесь, что у вас сохранены package.json и package-lock.json/yarn.lock; после удаления выполните npm install.
  • Для менеджера проекта: включите очистку старых зависимостей в регулярный технический долг и документируйте политику хранения проектов.
  • Для DevOps: автоматизируйте очистку артефактов на build-агентах и используйте квоты диска.

Чек-лист перед удалением

  • Все изменения закоммичены или сохранены вне node_modules
  • Проект остановлен и нет активных процессов, использующих зависимости
  • Имеется доступ к интернету для повторной установки пакетов
  • Есть резервные lock-файлы (package-lock.json / yarn.lock)

Откат и восстановление

Если вы случайно удалили node_modules:

  1. Перейдите в каталог проекта, содержащий package.json.
  2. Выполните:
npm install

Это заново загрузит и установит зависимости по lock-файлу. Если зависимости недоступны (частные репозитории), подготовьте доступы или кеши заранее.

Матрица рисков и смягчение

  • Риск: потеря локальных модификаций в node_modules. Смягчение: проверять git и не вносить изменения в node_modules.
  • Риск: удаление у активного проекта, прерывание работы. Смягчение: останавливать процессы перед удалением.
  • Риск: проблемы с правами на удаление. Смягчение: исправлять права целенаправленно, избегать sudo без понимания последствий.

Мини-словарь терминов

  • Node.js — среда выполнения JavaScript вне браузера.
  • npm — пакетный менеджер для Node.js.
  • node_modules — каталог с локальными зависимостями проекта.
  • npx — утилита для выполнения пакетов npm без глобальной установки.
  • npkill — инструмент для поиска и удаления папок node_modules.

Краткое резюме

npkill — удобный и быстрый способ освободить диск от тяжёлых папок node_modules, особенно в среде разработчика, где много старых проектов. Используйте его аккуратно, придерживаясь чек-листа и заранее планируя восстановление зависимостей.

Ключевые команды:

npx npkill
npm install

Notes: если вы работаете в среде с ограниченными правами или в монорепозитории, протестируйте работу npkill на копии структуры, прежде чем запускать в продакшен-средах.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Настройка и удаление passkey в аккаунте Microsoft
Безопасность

Настройка и удаление passkey в аккаунте Microsoft

Как сбросить пароль Apple ID — полное руководство
Технологии

Как сбросить пароль Apple ID — полное руководство

Сброс кода Screen Time на iPhone, iPad и Mac
Помощь

Сброс кода Screen Time на iPhone, iPad и Mac

Как сбросить забытый пароль в Ubuntu
Ubuntu

Как сбросить забытый пароль в Ubuntu

Восстановление кода iPhone в iOS 17
iOS

Восстановление кода iPhone в iOS 17

Как посмотреть пароль Wi‑Fi на Android
Технологии

Как посмотреть пароль Wi‑Fi на Android