n1ro°
RU

Ошибки · Решение

Node.js EEXIST: что означает ошибка и как исправить

Node.js пытался создать объект там, где уже существует файл или каталог.

Редакция N1RO · Проверено

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

Node.js EEXIST — системная ошибка «File exists». Для диагностики важнее всего поля error.syscall, error.path/address и контекст операции.

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

Node.js пытался создать объект там, где уже существует файл или каталог.

Возможные причины

  • fs.mkdir/fs.open с эксклюзивным созданием встретил существующий путь.
  • Параллельные workers создают один и тот же объект.
  • Повторный job не является идемпотентным.

Что проверить

  • Посмотрите error.path и вызываемый fs method.
  • Проверьте, допустим ли уже существующий объект.
  • Исключите check-then-create race между процессами.

Безопасные шаги

  1. Для mkdir используйте подходящую идемпотентную стратегию, если существование допустимо.
  2. Не удаляйте существующий файл без проверки его принадлежности.
  3. Используйте атомарные операции для конкурентного создания.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если Node.js EEXIST остаётся после проверки syscall и ресурса, приложите stack trace, error.syscall и связанные path/address/port владельцу сервиса или инфраструктуры.

Похожие ошибки

  • /errors/nodejs-eisdir/
  • /errors/nodejs-emfile/
  • /errors/nodejs-enotdir/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.