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