npm LinuxWindowsmacOS

npm ERR! ENOTEMPTY: directory not empty, rename

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Ошибка при переименовании каталога в node_modules из-за занятых файлов. Закройте процессы, удалите node_modules и повторите.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
ENOTEMPTY

Ошибка при переименовании каталога в node_modules из-за занятых файлов. Закройте процессы, удалите node_modules и повторите.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Файлы занятыФайлы в node_modules удерживает процесс.Закройте сборщик и повторите установку.
АнтивирусАнтивирус задерживает переименование файла.Проверьте журнал защиты и статус сканирования.
Прерванная установкаЗависимости частично установлены.После сохранения lock переустановите их штатным способом.
Облачная папкаПроект находится в синхронизируемой папке.Используйте локальную копию проекта без параллельной синхронизации.

#Пошаговое решение

  1. Определите путь, который нельзя переименоватьИз сообщения ENOTEMPTY ... rename скопируйте исходный и целевой путь, обычно внутри node_modules. Остановите npm-сборку клавишами Ctrl+C и сохраните список незакоммиченных изменений командой git status. Не удаляйте package-lock.json — он нужен для воспроизводимости.
  2. Освободите занятый каталогЗакройте только те редакторы, серверы разработки и процессы Node, которые используют эту папку. Если проект находится в OneDrive/Dropbox и активно синхронизируется, попробуйте локальную несинхронизируемую копию проекта. На Windows при необходимости перезапустите Проводник, но не отключайте антивирус.
  3. Восстановите зависимости с проверенным lock-файломЕсли каталог node_modules повреждён и это ваш локальный проект, после сохранения данных можно переименовать именно node_modules (не исходники) и запустить npm ci при наличии согласованного lock-файла; иначе используйте установленный в проекте пакетный менеджер. При монорепозитории не затрагивайте зависимости других проектов.
  4. Проверьте результатУбедитесь, что установка завершилась, затем запустите npm test или документированную команду проверки. Если ошибка появляется снова в том же пути, проверьте права каталога и фоновые процессы; не используйте rm -rf без проверки текущей директории.

#Если проблема осталась

Если «npm ERR! ENOTEMPTY: directory not empty, rename» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.