Nodemon не является внутренней или внешней командой: как исправить ошибку

Ошибка "nodemon" не является внутренней или внешней командой, исполняемой программой или пакетным файлом возникает в командной строке Windows, когда система не находит исполняемый файл nodemon ни в текущей папке, ни в каталогах, перечисленных в переменной окружения PATH. Чаще всего причина одна из трёх: пакет не установлен вообще, установлен локально в проект, а не глобально, либо путь к глобальным пакетам npm не добавлен в PATH.

Хорошая новость в том, что это не сбой Node.js и не повреждение системы — проблема решается за несколько минут. Ниже разберём, как проверить установку, правильно поставить nodemon и что делать, если ошибка сохраняется даже после установки.

Почему Windows не находит команду nodemon

Командная строка ищет вводимую команду в строго определённых местах: сначала в текущей директории, затем во всех папках из переменной PATH. Если исполняемого файла nodemon.cmd нет ни в одном из этих мест, Windows выдаёт именно ту ошибку, с которой вы столкнулись.

Типичные причины выглядят так:

  • 📦 nodemon не установлен — пакет никогда не ставился на этот компьютер;
  • 📁 локальная установка — пакет установлен через npm install nodemon без флага -g и доступен только внутри конкретного проекта;
  • 🛠️ отсутствует путь в PATH — папка глобальных пакетов npm не прописана в переменной окружения;
  • 🔄 устаревший сеанс терминала — командная строка была открыта до установки и не видит обновлённый PATH.
⚠️ Внимание: если вы устанавливали nodemon локально в проект, команда nodemon app.js из корня диска или другой папки работать не будет — это нормальное поведение npm, а не поломка.

Шаг 1. Проверьте, установлен ли Node.js и npm

Прежде чем чинить nodemon, убедитесь, что на компьютере вообще установлен Node.js — без него пакетный менеджер npm отсутствует, и ставить nodemon будет нечем. Откройте командную строку (Win + R → cmd) и выполните две команды:

node -v

npm -v

Если обе команды выводят номера версий — платформа на месте, переходите к следующему шагу. Если вместо версии вы видите ту же ошибку «не является внутренней или внешней командой», сначала установите Node.js с официального сайта nodejs.org, а затем перезапустите терминал.

Шаг 2. Установите nodemon глобально

Самый надёжный способ сделать команду доступной из любой папки — глобальная установка. Выполните в командной строке:

npm install -g nodemon

Флаг -g помещает пакет в глобальный каталог npm, а ссылку на исполняемый файл — в папку, которая обычно уже включена в PATH. После завершения установки обязательно закройте и заново откройте командную строку — текущий сеанс не подхватывает изменения окружения на лету.

☑️ Проверка после установки nodemon

Выполнено: 0 / 4

Проверить результат можно командой nodemon --version. Если вместо версии снова появляется ошибка — проблема в переменной PATH, и её нужно настраивать вручную.

📊 На каком этапе возникла ошибка у вас?
nodemon вообще не был установлен
Установил, но ошибка осталась
Ошибка только в VS Code
Ошибка в PowerShell, в cmd работает

Шаг 3. Настройте переменную PATH вручную

Иногда установщик Node.js не добавляет папку глобальных пакетов в PATH, и система просто не знает, где искать nodemon.cmd. Сначала узнайте, куда npm ставит глобальные пакеты:

npm config get prefix

По умолчанию на Windows это обычно путь вида C:\Users\ИмяПользователя\AppData\Roaming\npm. Этот каталог и нужно добавить в переменную окружения:

  • ⚙️ откройте Параметры системы → «О системе» → «Дополнительные параметры системы»;
  • 🔧 нажмите кнопку «Переменные среды»;
  • ✏️ в списке пользовательских переменных найдите Path и нажмите «Изменить»;
  • ➕ добавьте новую строку с путём из npm config get prefix и сохраните изменения.
⚠️ Внимание: после редактирования PATH перезапустите не только командную строку, но и редактор кода (например, VS Code) — запущенные программы не перечитывают переменные окружения автоматически.

Шаг 4. Альтернатива: запуск через npx и локальная установка

Глобальная установка — не единственный вариант. Многие разработчики предпочитают держать nodemon в зависимостях конкретного проекта, чтобы версия инструмента была зафиксирована в package.json. В этом случае установка выглядит так:

npm install --save-dev nodemon

Запускать локально установленный пакет напрямую командой nodemon из терминала нельзя — используйте npx nodemon app.js или добавьте скрипт в package.json:

"scripts": {

"dev": "nodemon app.js"

}

После этого проект запускается командой npm run dev, и никакие глобальные пути не нужны. Такой подход особенно удобен в командной разработке: каждый участник получает одинаковую версию nodemon автоматически при npm install.

Особенности запуска в PowerShell и VS Code

В PowerShell может возникнуть дополнительное препятствие — политика выполнения скриптов. Если вместо привычной ошибки вы видите сообщение о запрете выполнения сценариев, это уже другая проблема: PowerShell блокирует запуск nodemon.ps1. Решается она изменением политики выполнения для текущего пользователя командой Set-ExecutionPolicy RemoteSigned -Scope CurrentUser либо использованием обычной командной строки cmd.

Во встроенном терминале VS Code ошибка часто появляется из-за того, что редактор был запущен до установки nodemon или до изменения PATH. Полностью закройте VS Code (не только окно, но и процесс) и откройте заново — терминал подхватит актуальные переменные окружения.

Сравнение способов установки nodemon

СпособКомандаДоступностьКогда использовать
Глобальная установкаnpm i -g nodemonИз любой папкиЛичные проекты, обучение
Локальная (dev)npm i --save-dev nodemonТолько в проектеКомандная разработка
Запуск через npxnpx nodemon app.jsГде установлен пакетБыстрый разовый запуск
Скрипт в package.jsonnpm run devВ проектеСтандартный рабочий процесс
Что делать, если ничего не помогло

Переустановите Node.js с официального сайта, выбрав в установщике опцию добавления в PATH. Затем перезагрузите компьютер, установите nodemon глобально заново и проверьте команду nodemon --version в новом окне командной строки. Также убедитесь, что антивирус не заблокировал файлы в папке глобальных пакетов npm.

Частые вопросы (FAQ)

Почему nodemon работает в одном проекте, а в другом — нет?

Скорее всего, пакет установлен локально только в первом проекте. Локальные зависимости не видны за пределами своей папки — либо установите nodemon глобально с флагом -g, либо добавьте его в package.json каждого проекта.

Нужно ли перезагружать компьютер после установки nodemon?

Полная перезагрузка обычно не требуется. Достаточно закрыть и заново открыть командную строку, PowerShell и редактор кода. Перезагрузка помогает лишь в редких случаях, когда изменения PATH не применяются.

Чем npx отличается от npm?

npm — пакетный менеджер, который устанавливает библиотеки, а npx — инструмент запуска: он находит исполняемый файл пакета (в том числе локально установленного) и выполняет его без необходимости прописывать путь вручную.

Ошибка появляется только в PowerShell, в cmd всё работает. Что делать?

Проверьте политику выполнения скриптов командой Get-ExecutionPolicy. Если стоит Restricted, разрешите локальные сценарии командой Set-ExecutionPolicy RemoteSigned -Scope CurrentUser и перезапустите PowerShell.

Можно ли использовать nodemon без установки Node.js?

Нет. Nodemon — это пакет экосистемы Node.js, и без установленной платформы и npm он не работает. Сначала установите Node.js с официального сайта, затем ставьте nodemon.