#Симптомы и условия возникновения
После обновления Node.js команда npm может пропасть, ссылаться на старый путь или запускаться несовместимой версией среды. Следует проверить установку самого npm, PATH и пакетный менеджер, которым ставили Node. Для начала проверьте используемую версию среды и точный текст ошибки на копии проекта, не меняя рабочий сервер.
#Причины и как их отличить
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Старый путь npm в PATHВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление. | where.exe npm/command -v npm указывает на удалённый каталог | Исправить порядок путей для текущего пользователя. |
| Разные версии Node у оболочекВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление. | node -v работает, npm --version — ошибка синтаксиса | Проверить совместимость npm и Node. |
| Установка Node без npmВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление. | Некоторые сборки/менеджеры пакетов поставляют компоненты отдельно | Восстановить пакет штатным установщиком. |
#Пошаговая диагностика и решение
- 1. Сохраните сообщение и определите ОССкопируйте первую ошибку от
npm --version. На Windows различайте PowerShell и cmd; на Linux — запуск из текущей оболочки и systemd. Не удаляйте текущий Node, пока не установлен способ отката.
- 2. Сравните версии и путиВ PowerShell выполните
Get-Command node, npm -ErrorAction SilentlyContinue; в Linux/macOS —command -v node; command -v npm. Посмотрите, что Node доступен и из какой папки запускается npm.
- 3. Проверьте Node отдельноКоманда
node -p "process.execPath + " " + process.version"работает без npm. Если не работает, проблема шире и нужно восстанавливать Node из официального установщика или менеджера версий.
- 4. Определите способ установкиЕсли Node поставлен системным менеджером пакетов, используйте его команду проверки состава пакета и официальную процедуру восстановления. Если установлен nvm, переключитесь на нужную версию через nvm в текущем профиле; пути и команды у Windows/nvm-sh различаются.
- 5. Проверьте PATH без глобальных измененийВ Windows откройте Параметры → Система → О системе → Дополнительные параметры системы → Переменные среды, проверьте пользовательский Path для установленного Node. В Linux проверьте shell-конфигурацию; не заменяйте системный /usr/bin/node вручную.
- 6. Устраните несуществующий старый путьЕсли
npm— повреждённая ссылка, восстановите установку поддерживаемым способом из официального пакета. Не копируйте скрипты npm из неизвестных архивов и не используйтеsudo npm install -g npmкак универсальную починку.
- 7. Проверьте всё в новом терминалеЗакройте и снова откройте терминал, выполните
node --version,npm --version,npm config get prefix. Убедитесь, что каталог префикса соответствует выбранному способу установки.
#Как проверить результат и что делать, если не помогло
Node и npm открываются из ожидаемого установленного места, совместимы по версиям и доступны в новом окне терминала.
Если неисправность повторилась, выпишите первый код ошибки и действие, на котором она возвращается. Сравните версию Node.js/npm, рабочий каталог, настройки процесса и журнал тестового запуска. Откатите только внесённые изменения из предварительно сохранённой копии, затем разберите причину на отдельной среде.