Ошибки · Решение
Node.js EISDIR: что означает ошибка и как исправить
Node.js ожидал файл, но path указывает на каталог.
Короткий ответ
Node.js EISDIR — системная ошибка «Is a directory». Для диагностики важнее всего поля error.syscall, error.path/address и контекст операции.
Что означает ошибка
Node.js ожидал файл, но path указывает на каталог.
Возможные причины
- fs.readFile/open получил directory path.
- При сборке пути потеряно имя файла.
- Конфигурация указывает directory вместо файла.
Что проверить
- Проверьте error.path через fs.stat.
- Логируйте итоговый path после path.join/resolve.
- Сравните ожидаемый тип ресурса с фактическим.
Безопасные шаги
- Передавайте полный путь к файлу.
- Для каталога используйте fs.readdir/opendir.
- Добавьте проверку типа path при загрузке конфигурации.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если Node.js EISDIR остаётся после проверки syscall и ресурса, приложите stack trace, error.syscall и связанные path/address/port владельцу сервиса или инфраструктуры.
Похожие ошибки
- /errors/nodejs-eexist/
- /errors/nodejs-emfile/
- /errors/nodejs-enotdir/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.