Ошибки · Решение
Node.js EEXIST: что означает ошибка и как исправить
Node.js пытался создать объект там, где уже существует файл или каталог.
Короткий ответ
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 между процессами.
Безопасные шаги
- Для mkdir используйте подходящую идемпотентную стратегию, если существование допустимо.
- Не удаляйте существующий файл без проверки его принадлежности.
- Используйте атомарные операции для конкурентного создания.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если Node.js EEXIST остаётся после проверки syscall и ресурса, приложите stack trace, error.syscall и связанные path/address/port владельцу сервиса или инфраструктуры.
Похожие ошибки
- /errors/nodejs-eisdir/
- /errors/nodejs-emfile/
- /errors/nodejs-enotdir/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.