Ошибка npm: command not found означает, что оболочка не видит исполняемый файл npm. Сначала выполните node --version и npm --version. Если обе команды не найдены, установите актуальную LTS-версию Node.js и полностью перезапустите терминал. Если Node.js отвечает, а npm нет, проверьте путь к командам и способ установки, не переустанавливая случайные пакеты из интернета.
Новичок часто встречает эту ошибку сразу после команды из README: npm install. Проект уже открыт в VS Code, файлы на месте, но PowerShell пишет, что имя npm не распознано, а Bash отвечает command not found. Это не ошибка React, Vite или самого проекта. Команду ищет операционная система, и до запуска проекта дело ещё не дошло.
Проверяем отдельно node, npm и реальный путь к ним.
Ставим Node.js поддерживаемым способом или восстанавливаем запись в PATH.
Переходим в каталог с package.json, устанавливаем зависимости и выбираем существующий script.
Что означает command not found и где искать причину
Когда вы вводите npm, терминал просматривает каталоги из переменной PATH. Если подходящий файл не найден, оболочка останавливается до чтения package.json. Поэтому удаление node_modules, правка исходников и смена порта сейчас не помогут. Диагностика начинается на уровне системы: установлен ли Node.js, видит ли его текущий терминал и не открыта ли старая сессия до установки.
| Проверка | Результат | Вывод |
|---|---|---|
node --version | Печатает v... | Среда Node.js доступна |
npm --version | Печатает номер | npm доступен в этой оболочке |
| обе команды не найдены | CommandNotFound или not found | Node.js не установлен либо не попал в PATH |
| Node найден, npm нет | Версии есть только у Node | Установка повреждена или пути расходятся |
| npm работает в новом окне | Старое окно всё ещё ошибается | Нужно закрыть старую сессию терминала |

Ошибка возникает до проекта: оболочка должна сначала найти исполняемый файл npm.
Проверяем Node.js, npm и PATH без догадок
Выполните диагностический набор в новом окне терминала. На Windows команды where.exe показывают все найденные копии, а в macOS и Linux для этого служит command -v. Несколько разных путей одновременно могут означать конфликт установщика и менеджера версий. Не удаляйте пути вслепую: сначала запишите, какая копия реально запускается.
# Работает во всех оболочках
node --version
npm --version
# Windows PowerShell
where.exe node
where.exe npm
$env:Path -split ';'
# macOS или Linux
command -v node
command -v npm
printf '%s\n' "$PATH" | tr ':' '\n'
# Когда npm появился, проверьте среду
npm config get prefix- Две версии и два существующих пути означают, что базовая установка исправна.
- Пустой вывод
where.exeилиcommand -vподтверждает проблему поиска команды. - Разные каталоги для node и npm требуют привести установку к одному способу, а не копировать npm вручную.

Пара коротких проверок отделяет отсутствие установки от конфликта путей.
Как правильно установить Node.js на своей системе
npm распространяется вместе с Node.js, поэтому отдельно скачивать неизвестный файл npm не нужно. Для первого проекта на Windows и macOS подойдёт официальный установщик LTS. На Linux удобно использовать поддерживаемый менеджер версий Node.js или пакетный менеджер дистрибутива, понимая, какая версия устанавливается. Менеджер версий особенно полезен, когда разные проекты требуют разные релизы.
| Ситуация | Подход | Что проверить после |
|---|---|---|
| Первый проект на Windows | Официальный LTS-установщик Node.js | Новое окно PowerShell и обе версии |
| Первый проект на macOS | Официальный установщик или один менеджер версий | Новое окно Terminal и command -v |
| Несколько учебных проектов | Менеджер версий Node.js | Активную версию в каждом новом shell |
| Linux | Менеджер версий или пакеты дистрибутива | Версию, путь и права пользователя |
| Рабочий компьютер | Согласованный командой способ | README проекта и поддерживаемую версию |
Практика: от пустого терминала до запуска проекта
После установки нужно проверить не только команду, но и контекст проекта. npm читает package.json в текущем каталоге. Если терминал открыт уровнем выше, команда может работать, но сообщить, что файл не найден. Посмотрите список файлов, найдите каталог проекта и только затем запускайте установку зависимостей.
- Закройте все терминалы VS Code и откройте новое окно редактора после установки Node.js.
- Выполните
node --versionиnpm --version. Сохраните номера в заметку к проекту. - Перейдите командой
cdв каталог, где лежитpackage.json, и проверьте его черезdirилиls. - Запустите
npm install. Команда должна создать или обновитьnode_modulesи lock-файл согласно проекту. - Выполните
npm runбез имени: npm покажет scripts, которые реально объявлены в package.json. - Запустите подходящий сценарий, например
npm run dev, только если он есть в списке.
- Команды node и npm работают и во внешнем терминале, и во вновь открытом терминале VS Code.
- npm install выполняется именно рядом с package.json и не требует запуска редактора от администратора.
- npm run показывает сценарии проекта, поэтому имя команды не приходится угадывать.

После исправления среды важен каталог: npm читает сценарии из ближайшего package.json.
Почему npm всё ещё не находится или не запускает проект
После базовой установки могут остаться разные симптомы. PowerShell иногда блокирует сценарий npm.ps1, терминал редактора сохраняет старый PATH, а команда из чужой инструкции ссылается на несуществующий script. Разделяйте эти случаи по точному сообщению. Не отключайте системную защиту целиком ради одной команды.
Встроенный терминал наследует окружение процесса редактора. Закройте все окна VS Code и откройте редактор заново.
Он входит в официальный дистрибутив Node.js. Случайный архив добавляет риск и не чинит нормальную установку.
Наличие npm не гарантирует наличие package.json. Проверьте текущий каталог и список файлов.
Это маскирует неверный prefix или политику оболочки. Сначала определите точное сообщение и путь к команде.
Сценарий из package.json запускается как npm run dev, а не просто npm dev.
Нужно ли устанавливать npm отдельно?
Обычно нет. npm входит в официальный дистрибутив Node.js.
Почему после установки помогает новое окно терминала?
Новая оболочка получает обновлённую переменную PATH.
Как узнать путь к npm?
На Windows выполните where.exe npm, на macOS и Linux: command -v npm.
Почему npm install не видит package.json?
Скорее всего, текущий каталог не является корнем проекта.
Как узнать доступные npm scripts?
В каталоге проекта выполните npm run без имени сценария.
Разберите переменные, функции и события в курсе JavaScript, а затем соберите небольшой проект прямо в Кодике. Если браузерный код ещё не подключён, начните со статьи как подключить JavaScript к HTML.
Для первого сетевого запроса пригодится руководство по API на JavaScript, а выбор менеджера пакетов разобран в материале npm, pnpm и Bun.