n1ro°
RU

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

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

Node.js ожидал файл, но path указывает на каталог.

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

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

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.
  • Сравните ожидаемый тип ресурса с фактическим.

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

  1. Передавайте полный путь к файлу.
  2. Для каталога используйте fs.readdir/opendir.
  3. Добавьте проверку типа path при загрузке конфигурации.

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

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

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

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

  • /errors/nodejs-eexist/
  • /errors/nodejs-emfile/
  • /errors/nodejs-enotdir/

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

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

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

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