Как найти и удалить папки node_modules на Mac
Удалить node_modules на Mac безопасно в своих проектах, с которыми вы сейчас не работаете: в папке лежат только скачанные пакеты, и одна команда установки вернёт её, когда вы вернётесь к проекту. Каждый проект на JavaScript хранит свою копию всех пакетов, поэтому несколько десятков старых проектов на Mac или MacBook часто занимают десятки гигабайт. Здесь — как найти все папки node_modules с их размером, удалить их по одной или все сразу и вернуть обратно.

- Откройте MacWashing и выберите Сборка мусора в боковом меню.
- Нажмите Начать сканирование.
- Просмотрите находки и нажмите Очистить. Всё спорное остаётся без галочки.
Бесплатная пробная версия · macOS 14 и новее
Безопасно ли удалять node_modules
Да, в ваших собственных проектах. В node_modules лежат только пакеты, скачанные из интернета. Ваш код, package.json и файл блокировки (package-lock.json, yarn.lock или pnpm-lock.yaml) лежат рядом и остаются. Проект не запустится, пока вы снова не установите пакеты.
Не трогайте глобальные папки /usr/local/lib/node_modules и /opt/homebrew/lib/node_modules: в них ваши глобально установленные инструменты и сам npm. Ещё некоторые программы поставляются со своей папкой node_modules, без которой не работают.
Как найти все папки node_modules и узнать их размер
Эта команда в Терминале выводит все папки node_modules в ваших проектах с размером, самые большие — в конце. Замените ~/Projects на папку, где лежит ваш код:
find ~/Projects -name node_modules -type d -prune -exec du -sh {} + | sort -h
-prune не даёт find заходить внутрь найденных папок, поэтому вложенные node_modules самих пакетов не попадают в список и не считаются дважды. Чтобы узнать размер node_modules одного проекта, выполните du -sh node_modules в его папке.
Как удалить node_modules в одном проекте
- Откройте папку проекта в Finder.
- Выделите папку
node_modulesи выберите Файл › Переместить в Корзину (Command-Delete).

- Очистите Корзину, чтобы освободить место.
Для больших папок Терминал быстрее. Эта команда, выполненная в папке проекта, сразу удаляет его node_modules, минуя Корзину. Остальной проект остаётся:
rm -rf node_modulesУдалить много папок node_modules через npkill
npkill — бесплатная программа с открытым кодом: она находит папки node_modules и удаляет те, что вы выберете. Ей нужен Node.js 14 или новее. Запустите её через npx, не устанавливая насовсем:
npx npkill -d ~/Projects- Подождите, пока npkill просканирует папку. Каждая
node_modulesпоявится с размером и датой последнего изменения проекта. - Перемещайтесь по списку стрелками и нажмите пробел, чтобы удалить выделенную папку.
- Нажмите Q, чтобы выйти.
Предупреждающим знаком npkill отмечает папки, которые могут быть нужны установленным программам для работы. Их не трогайте. Добавьте к команде -s size, чтобы самые большие папки были первыми.
Чтобы удалить все node_modules в папке разом, снова воспользуйтесь find. Эта команда удаляет их все в ~/Projects, минуя Корзину, и не трогает остальное. Сначала выполните команду из раздела выше, чтобы увидеть, что уйдёт:
find ~/Projects -name node_modules -type d -prune -exec rm -rf {} +Как вернуть node_modules
В папке проекта выполните команду установки того менеджера пакетов, которым пользуется проект. Для npm с package-lock.json эта команда ставит ровно те версии, что записаны в файле блокировки:
npm ciБез файла блокировки используйте npm install. Проектам с yarn.lock нужна yarn install, с pnpm-lock.yaml — pnpm install. Пакеты берутся из кэша менеджера пакетов, если они там есть, остальные — из интернета. Про этот кэш — в статье как очистить кэш npm.
А с MacWashing это в один клик

Сборка мусора в MacWashing показывает в разделе «Зависимости проектов» папки node_modules проектов, которые вы не меняли 90 дней, с их размером, а рядом — папки Composer, CocoaPods, Python и Cargo. Они без галочки: их можно скачать снова, но на это нужны интернет и время, поэтому решаете вы.
Бесплатная пробная версия · macOS 14 и новее
Вопросы и ответы
Удалит ли MacWashing мои файлы при очистке?
Нет. Он удаляет только то, что может сопоставить с известной программой или известным видом мусора, и только там, где программы оставляют файлы; macOS и файлы Apple не затрагиваются. Всё спорное помечено и остаётся без галочки, пока вы не решите.
Что будет с открытыми программами?
Если файлы заняты открытой программой, MacWashing подождёт, пока она закроется, или закроет её по вашей команде, а после очистки откроет снова.
Это бесплатно?
Да, в пробном режиме: Сборка мусора и Деинсталлятор вместе освобождают до 25 ГБ, без аккаунта и карты.
Безопасно ли удалять node_modules?
Да, в ваших проектах. Там только скачанные пакеты, и одна команда установки возвращает их. Не удаляйте глобальные папки node_modules в /usr/local/lib и /opt/homebrew/lib.
Почему node_modules такая большая?
В ней все пакеты, которыми пользуется проект, и все пакеты, от которых зависят они, часто сотни или тысячи. Каждый проект на npm или Yarn хранит свою копию, поэтому одни и те же пакеты лежат на диске много раз.
Долго ли удалять node_modules в Finder?
Переместить в Корзину — быстро, а вот очистка Корзины может занять минуты: в папке десятки тысяч мелких файлов. rm -rf node_modules в Терминале обычно быстрее.