ФронтендБэкендJavaScript

npm command not found: как установить Node.js и вернуть команду npm

Разбираем ошибку npm command not found на Windows, macOS и Linux: проверяем Node.js, PATH, терминал и папку проекта, затем запускаем package.json.

Кодик

Автор

6 мин чтения

Ошибка 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 или самого проекта. Команду ищет операционная система, и до запуска проекта дело ещё не дошло.

1Определяем

Проверяем отдельно node, npm и реальный путь к ним.

2Исправляем

Ставим Node.js поддерживаемым способом или восстанавливаем запись в PATH.

3Запускаем

Переходим в каталог с package.json, устанавливаем зависимости и выбираем существующий script.

Что означает command not found и где искать причину

Когда вы вводите npm, терминал просматривает каталоги из переменной PATH. Если подходящий файл не найден, оболочка останавливается до чтения package.json. Поэтому удаление node_modules, правка исходников и смена порта сейчас не помогут. Диагностика начинается на уровне системы: установлен ли Node.js, видит ли его текущий терминал и не открыта ли старая сессия до установки.

ПроверкаРезультатВывод
node --versionПечатает v...Среда Node.js доступна
npm --versionПечатает номерnpm доступен в этой оболочке
обе команды не найденыCommandNotFound или not foundNode.js не установлен либо не попал в PATH
Node найден, npm нетВерсии есть только у NodeУстановка повреждена или пути расходятся
npm работает в новом окнеСтарое окно всё ещё ошибаетсяНужно закрыть старую сессию терминала

Схема поиска команды npm через оболочку и переменную PATH
Ошибка возникает до проекта: оболочка должна сначала найти исполняемый файл npm.

Читайте первую ошибку буквально. Если не найдена команда, сначала чините установку и PATH. Сообщения о package.json, dependency или script появятся только после того, как 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 и 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 проекта и поддерживаемую версию
Выбирайте один источник установки. Одновременные копии из системного установщика, пакетного менеджера и менеджера версий усложняют PATH. Для обучения важнее предсказуемая одна версия, чем коллекция установок.

Практика: от пустого терминала до запуска проекта

После установки нужно проверить не только команду, но и контекст проекта. npm читает package.json в текущем каталоге. Если терминал открыт уровнем выше, команда может работать, но сообщить, что файл не найден. Посмотрите список файлов, найдите каталог проекта и только затем запускайте установку зависимостей.

Безопасная последовательность
  1. Закройте все терминалы VS Code и откройте новое окно редактора после установки Node.js.
  2. Выполните node --version и npm --version. Сохраните номера в заметку к проекту.
  3. Перейдите командой cd в каталог, где лежит package.json, и проверьте его через dir или ls.
  4. Запустите npm install. Команда должна создать или обновить node_modules и lock-файл согласно проекту.
  5. Выполните npm run без имени: npm покажет scripts, которые реально объявлены в package.json.
  6. Запустите подходящий сценарий, например npm run dev, только если он есть в списке.
Готовая среда выглядит так
  • Команды node и npm работают и во внешнем терминале, и во вновь открытом терминале VS Code.
  • npm install выполняется именно рядом с package.json и не требует запуска редактора от администратора.
  • npm run показывает сценарии проекта, поэтому имя команды не приходится угадывать.

Последовательность запуска npm-проекта из папки с package.json
После исправления среды важен каталог: npm читает сценарии из ближайшего package.json.

Почему npm всё ещё не находится или не запускает проект

После базовой установки могут остаться разные симптомы. PowerShell иногда блокирует сценарий npm.ps1, терминал редактора сохраняет старый PATH, а команда из чужой инструкции ссылается на несуществующий script. Разделяйте эти случаи по точному сообщению. Не отключайте системную защиту целиком ради одной команды.

VS Code не перезапущен

Встроенный терминал наследует окружение процесса редактора. Закройте все окна VS Code и откройте редактор заново.

npm скачивают отдельно с постороннего сайта

Он входит в официальный дистрибутив Node.js. Случайный архив добавляет риск и не чинит нормальную установку.

Команду запускают не в папке проекта

Наличие npm не гарантирует наличие package.json. Проверьте текущий каталог и список файлов.

Проблему прав решают запуском всего от администратора

Это маскирует неверный prefix или политику оболочки. Сначала определите точное сообщение и путь к команде.

Путают npm и npm run

Сценарий из package.json запускается как npm run dev, а не просто npm dev.

После каждого исправления открывайте новый shell. Так вы проверяете актуальный PATH, а не состояние терминала, который был запущен до установки или переключения версии. Технические детали сверены с официальным руководством npm по установке Node.js и npm.
Короткие ответы
Нужно ли устанавливать 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.