Bash npm command not found решение проблемы в терминале

Bash npm command not found что делать

Содержание статьи

Bash npm command not found что делать

Ошибка “npm: command not found” возникает, когда Bash не может найти исполняемый файл npm в системном пути. Чаще всего это связано с отсутствием Node.js на устройстве или неправильной настройкой переменной PATH. В Linux и macOS npm устанавливается вместе с Node.js, а на Windows его можно добавить через официальный установщик или пакетный менеджер.

Для проверки наличия npm выполните команду node -v и npm -v. Если Node.js установлен, но Bash не видит npm, проблема обычно в путях: директория, где находится npm, не включена в $PATH. Добавление пути к npm вручную решает большинство случаев.

Если Node.js отсутствует, рекомендуется использовать стабильную LTS-версию с официального сайта или через менеджеры версий, такие как nvm. NVM позволяет устанавливать и переключать версии Node.js без конфликта с системными пакетами и автоматически настраивает npm.

В статье представлены пошаговые методы устранения ошибки, включая проверку установки Node.js, настройку переменной PATH, использование альтернативных способов установки и проверку корректной работы npm после исправлений.

Проверка установки Node.js и npm на системе

Для начала убедитесь, что Node.js установлен корректно. В терминале выполните команду node -v. Если Node.js присутствует, команда выведет текущую версию, например v20.5.1. Отсутствие версии указывает на необходимость установки или корректировки пути.

Далее проверьте наличие npm с помощью команды npm -v. Аналогично, корректная установка вернёт номер версии, например 9.8.0. Если появляется ошибка «command not found», npm не установлен или не доступен в текущем PATH.

На Linux и macOS корректировка PATH выполняется через редактирование файлов ~/.bashrc, ~/.zshrc или ~/.profile. Добавьте строку export PATH=$PATH:/usr/local/bin или путь, соответствующий вашей установке Node.js. После изменения выполните source ~/.bashrc для применения.

На Windows проверьте, что папка с Node.js включена в системную переменную PATH через «Свойства системы → Переменные среды». После внесения изменений перезапустите терминал.

Добавление npm в системный PATH

Проверить текущий путь установки Node.js можно командой:

which node
which npm

На Linux или macOS добавление пути выполняется через редактирование файлов конфигурации оболочки:

Файл оболочки Команда добавления PATH
~/.bashrc или ~/.bash_profile export PATH=$PATH:/usr/local/bin
~/.zshrc export PATH=$PATH:/usr/local/bin

После внесения изменений необходимо применить их командой:

source ~/.bashrc
или
source ~/.zshrc

На Windows путь добавляется через «Свойства системы → Дополнительные параметры → Переменные среды». В разделе «Системные переменные» выберите PATH, нажмите «Изменить» и добавьте путь к папке с npm и node.exe.

Проверить корректность добавления можно командой:

npm -v
node -v

Если обе команды возвращают версии, npm успешно интегрирован в системный PATH.

Переустановка npm через менеджер пакетов

Переустановка npm через менеджер пакетов

Для Linux-систем на базе Debian и Ubuntu используется apt. Сначала удалите старую версию Node.js и npm командой sudo apt remove nodejs npm, затем обновите список пакетов: sudo apt update. После этого установите Node.js с npm одновременно: sudo apt install nodejs npm.

В системах на базе Red Hat, CentOS или Fedora применяется dnf или yum. Удаление старой версии выполняется через sudo dnf remove nodejs npm или sudo yum remove nodejs npm. Установка новой версии: sudo dnf install nodejs npm или sudo yum install nodejs npm.

Для macOS рекомендуем использовать Homebrew. Удалите существующую версию: brew uninstall node. Далее установите свежую сборку Node.js с npm: brew install node. Проверка версии npm выполняется командой npm -v.

После переустановки убедитесь, что npm корректно доступен в терминале. Если команда npm по-прежнему не найдена, проверьте путь установки Node.js через which node и добавьте директорию npm в переменную PATH.

Использование nvm для управления версиями Node.js

nvm (Node Version Manager) позволяет устанавливать и переключаться между несколькими версиями Node.js без конфликтов с системными пакетами. Это особенно полезно, если в проекте требуется конкретная версия Node.js для корректной работы npm.

Установка nvm на Linux или macOS выполняется через команду:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

После установки необходимо перезапустить терминал или выполнить:

source ~/.bashrc

Для проверки доступных команд используйте:

nvm --help

Управление версиями Node.js:

  • Установка конкретной версии:
  • nvm install 18.17.0
  • Переключение на установленную версию:
  • nvm use 18.17.0
  • Установка версии по умолчанию для всех новых сессий:
  • nvm alias default 18.17.0
  • Просмотр всех установленных версий:
  • nvm ls
  • Просмотр доступных для установки версий:
  • nvm ls-remote

После активации нужной версии Node.js команда npm будет доступна в текущем терминале. Если npm по-прежнему не определяется, убедитесь, что nvm правильно инициализирован в ~/.bashrc или ~/.zshrc:

[ -s "$HOME/.nvm/nvm.sh" ] && \. "$HOME/.nvm/nvm.sh"

Использование nvm предотвращает конфликты между глобальными установками Node.js и упрощает управление проектами с разными версиями.

Проверка прав доступа к директориям npm

Проверка прав доступа к директориям npm

Для корректной работы npm важны права доступа к глобальной и локальной директории пакетов. Узнать глобальную директорию можно командой npm root -g, а домашнюю – npm config get prefix.

Проверка прав осуществляется через ls -ld для каталогов и ls -l для файлов. Например, ls -ld /usr/local/lib/node_modules покажет владельца и группу. npm должен иметь право записи в эту директорию для установки глобальных пакетов.

Если права ограничены, можно изменить их с помощью chown. Например, sudo chown -R $(whoami) /usr/local/lib/node_modules предоставит текущему пользователю полный доступ.

Также стоит проверить переменные окружения PATH и NODE_PATH, чтобы система видела корректные каталоги npm. Некорректные пути могут вызывать ошибку command not found.

Для локальных проектов достаточно прав записи в каталог проекта. Если npm не видит пакеты, проверьте node_modules и убедитесь, что пользователь имеет права чтения и записи в этом каталоге.

Дополнительно можно использовать npm doctor для диагностики проблем с правами и конфигурацией npm, что помогает выявить ограничения доступа и несоответствия директорий.

Очистка кеша npm и исправление ошибок путей

Очистка кеша npm и исправление ошибок путей

Для решения ошибки «npm command not found» важно проверить и очистить кеш npm. Используйте команду npm cache verify для проверки целостности кеша и выявления повреждённых файлов.

Если обнаружены проблемы, выполните npm cache clean —force для полного удаления кеша. Это гарантирует отсутствие старых или конфликтующих пакетов, мешающих запуску npm.

Ошибки могут быть связаны с некорректными путями к npm. Проверьте текущий путь командой which npm или whereis npm. Если путь не найден, добавьте его вручную в переменную PATH через команду export PATH=$PATH:/usr/local/bin, заменив путь на корректный для вашей системы.

После изменения PATH убедитесь в применении изменений командой source ~/.bashrc или source ~/.zshrc в зависимости от используемого шелла. Затем проверьте доступность npm командой npm -v.

Эти действия устраняют большинство проблем, связанных с повреждённым кешем и неправильными системными путями, позволяя Bash корректно обнаруживать npm.

Вопрос-ответ:

Почему терминал сообщает «npm: command not found» после установки Node.js?

Ошибка появляется, когда системный PATH не содержит путь к папке, где установлен npm. Обычно Node.js устанавливается вместе с npm, но если путь к его бинарникам не добавлен в переменную окружения PATH, Bash не сможет найти команду. Решается это проверкой местоположения npm через команду which npm или whereis npm и добавлением соответствующего пути в ~/.bashrc или ~/.profile.

Как проверить, что npm установлен корректно и доступен в терминале?

После установки Node.js и npm достаточно выполнить node -v и npm -v. Если команды возвращают версии, это значит, что оба инструмента установлены и находятся в PATH. Если вывод отсутствует, нужно проверить директории установки и права доступа, а при необходимости переустановить Node.js через менеджер пакетов или nvm.

Что делать, если после очистки кеша npm проблема «command not found» сохраняется?

Очистка кеша с помощью npm cache clean --force не исправляет отсутствие самой команды. Следует убедиться, что npm установлен в правильной директории и что путь к нему включён в PATH. В некоторых случаях помогает переустановка npm через менеджер пакетов или использование nvm для управления версиями Node.js, чтобы гарантировать корректную установку и доступность команды.

Можно ли исправить ошибку «npm: command not found» без переустановки Node.js?

Да, если npm установлен, но Bash его не видит, достаточно добавить путь к npm в переменную PATH. Обычно бинарники находятся в /usr/local/bin или в папке nvm, например ~/.nvm/versions/node/vXX.X.X/bin. Добавьте эту директорию в ~/.bashrc через export PATH=$PATH:/путь/к/npm и выполните source ~/.bashrc, после чего команда npm станет доступна.

Ссылка на основную публикацию