Ошибка npx не является внутренней или внешней командой, исполняемой программой или пакетным файлом означает одно: командная строка Windows не находит исполняемый файл npx ни в текущей папке, ни в каталогах, перечисленных в переменной окружения PATH. Чаще всего это происходит потому, что Node.js вообще не установлен в системе, установлен некорректно или терминал был открыт до установки и не подхватил обновлённые пути.
Утилита npx входит в состав npm (менеджера пакетов Node.js) и предназначена для запуска пакетов без глобальной установки — например, для создания проекта командой npx create-react-app. Если npm работает, а npx — нет, проблема обычно кроется в устаревшей версии npm или в повреждённой установке. Ниже разберём пошаговую диагностику и все рабочие способы устранения ошибки.
Проверка: установлен ли Node.js в системе
Первое действие — убедиться, что Node.js вообще присутствует на компьютере. Откройте командную строку (Win + R → cmd) и выполните две команды по очереди:
node -v
npm -v
Если обе команды возвращают номера версий, Node.js установлен, и дело в другом — переходите к проверке PATH. Если система отвечает той же ошибкой «не является командой» уже на node -v, значит, Node.js не установлен или его путь не прописан в системе.
⚠️ Внимание: если вы только что установили Node.js, а терминал был открыт до этого — полностью закройте и заново откройте командную строку. Запущенные окна терминала не перечитывают переменные окружения автоматически, и это одна из самых частых причин «фантомной» ошибки.
Установка или переустановка Node.js
Если Node.js отсутствует, его нужно установить с официального сайта nodejs.org. Возьмите версию LTS — она стабильнее и подходит для большинства задач. Во время установки обратите внимание на шаг с компонентами: галочка Add to PATH должна быть включена, именно она прописывает пути в систему.
Если Node.js уже стоял, но работает странно (например, node запускается, а npx — нет даже после перезапуска терминала), имеет смысл выполнить чистую переустановку:
- 🗑️ Удалите Node.js через
Параметры → Приложения → Установленные приложения - 📁 Проверьте, что папка
C:\Program Files\nodejsудалена — если осталась, удалите вручную - 🧹 Очистите кэш-папки
%AppData%\npmи%AppData%\npm-cache, если они существуют - 🔄 Перезагрузите компьютер и установите актуальную LTS-версию заново
☑️ Чистая переустановка Node.js
Проверка и настройка переменной PATH
Когда Node.js установлен, но команда не находится, почти всегда виновата переменная окружения PATH. Проверьте, есть ли в ней путь к Node.js. Откройте Параметры → Система → О системе → Дополнительные параметры системы → Переменные среды и в системных переменных найдите Path.
В списке значений должен присутствовать путь C:\Program Files\nodejs\ (или тот каталог, куда вы ставили Node.js). Если его нет — добавьте вручную через кнопку «Создать». Для работы глобально установленных пакетов npm также полезен путь %AppData%\npm в пользовательских переменных.
Быстро проверить текущее содержимое PATH можно прямо в терминале:
echo %PATH%
Найдите в выводе фрагмент с nodejs. Отсутствует — значит, установщик не прописал путь, и его нужно добавить вручную, после чего перезапустить терминал.
Когда npm работает, а npx — нет
Отдельный сценарий: npm -v показывает версию, а npx выдаёт ошибку. Такое бывает при очень старых версиях npm — утилита npx появилась в составе npm начиная с версии 5.2.0, и в более ранних релизах её просто не существовало. Проверьте версию npm и при необходимости обновите её:
npm install -g npm@latest
Также возможна ситуация, когда файл npx.cmd повреждён или отсутствует в папке C:\Program Files\nodejs. Загляните в этот каталог: рядом с npm.cmd должны лежать npx и npx.cmd. Если их нет — самое надёжное решение: переустановка Node.js, описанная выше.
⚠️ Внимание: не копируйте файлы npx.cmd из чужих установок или скачанных архивов вручную — версии файлов должны соответствовать установленной версии npm, иначе возможны конфликты и непредсказуемые ошибки при запуске пакетов.
Особенности для PowerShell и альтернативных терминалов
В PowerShell ошибка может выглядеть иначе — система сообщает, что имя npx не распознано как имя командлета. Причины те же: PATH или отсутствие установки. Но есть нюанс: политика выполнения скриптов PowerShell иногда блокирует запуск npx.ps1. В этом случае сообщение будет о запрете выполнения сценариев, а не о «неизвестной команде».
Проверить текущую политику можно командой Get-ExecutionPolicy. Изменять её следует осознанно и только если вы понимаете последствия — подробности описаны в официальной документации Microsoft. Для большинства задач проще использовать обычную командную строку cmd, где это ограничение не действует.
Почему в VS Code ошибка, а в cmd всё работает
VS Code запускает встроенный терминал с теми переменными окружения, которые были на момент старта редактора. Если вы установили Node.js после запуска VS Code, полностью закройте редактор (включая значок в трее) и откройте заново — терминал подхватит обновлённый PATH.
Сводная таблица причин и решений
| Симптом | Вероятная причина | Решение |
|---|---|---|
| node и npm тоже не находятся | Node.js не установлен | Установить LTS-версию с nodejs.org |
| Ошибка сразу после установки | Терминал не перезапущен | Закрыть и открыть терминал заново |
| node -v работает, npx — нет | Нет пути в PATH | Добавить C:\Program Files\nodejs\ в Path |
| npm работает, npx отсутствует | npm старее 5.2.0 или повреждён | Обновить npm или переустановить Node.js |
| Ошибка только в VS Code | Редактор кэшировал окружение | Полностью перезапустить редактор |
Как проверить, что проблема решена
После любого из исправлений откройте новое окно командной строки и выполните:
npx -v
Команда должна вернуть номер версии без ошибок. Для полной уверенности проверьте запуск реального пакета, например npx cowsay hello — утилита скачается во временный кэш и выполнится. Это подтвердит, что работает не только сам npx, но и вся цепочка: доступ к репозиторию npm, временные каталоги и запуск пакетов.
Если ошибка сохраняется после всех шагов, проверьте, не установлено ли несколько копий Node.js в разных каталогах (например, через nvm-windows и отдельный установщик одновременно) — конфликт путей в PATH может приводить к тому, что система находит «неполную» копию.
Часто задаваемые вопросы
Чем npx отличается от npm?
npm — менеджер пакетов: устанавливает и управляет зависимостями. npx — исполнитель пакетов: запускает инструменты без глобальной установки, скачивая их временно при необходимости.
Нужно ли устанавливать npx отдельно?
Нет. Начиная с npm версии 5.2.0 утилита npx входит в состав npm и ставится автоматически вместе с Node.js. Отдельная установка требуется только для очень старых версий, но правильнее обновить сам Node.js.
Ошибка появляется только в PowerShell, в cmd всё работает. Что делать?
Проверьте политику выполнения скриптов командой Get-ExecutionPolicy. Если она запрещает выполнение сценариев, изучите официальную документацию Microsoft по Set-ExecutionPolicy или просто работайте через cmd.
Можно ли исправить ошибку без переустановки Node.js?
Да, если Node.js установлен корректно, а проблема только в PATH — достаточно добавить путь C:\Program Files\nodejs\ в переменную Path и перезапустить терминал. Переустановка нужна при повреждённых или отсутствующих файлах.
Не мешает ли антивирус работе npx?
Возможная причина: некоторые антивирусы блокируют запуск скриптов из каталогов npm. Проверьте журнал блокировок вашего антивируса и при подтверждении добавьте папку Node.js в исключения.