n1ro°
RU

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

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

Часть пути существует, но не является каталогом, хотя операция ожидает directory.

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

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

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

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

Часть пути существует, но не является каталогом, хотя операция ожидает directory.

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

  • В середине path оказался обычный файл.
  • Symlink ведёт на файл вместо каталога.
  • Конфигурация смешала file path и directory path.

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

  • Разберите error.path по компонентам.
  • Проверьте symlink targets.
  • Воспроизведите fs.readdir/opendir на проблемном пути.

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

  1. Исправьте конфигурацию пути.
  2. Разделяйте настройки каталога и имени файла.
  3. Валидируйте directory path до выполнения batch-операций.

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

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

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

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

  • /errors/nodejs-eexist/
  • /errors/nodejs-eisdir/
  • /errors/nodejs-emfile/

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

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

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

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