Поиск по сайту:
Если при объяснении вашей программы слушатель начинает кивать головой, его пора будить. (Алан.Дж.Перлис)

Bash. Как исправить не найденный npm?

FavoriteLoadingДобавить в избранное
11.03.2022
Установка Node.js 6 на Ubuntu 4.16 Xenial Xerus LTS

Если вы работаете с JavaScript и Node.js, вы уже знакомы с npm. Термин npm относится к двум вещам. Подробнее в официальной документации Node.js.

 

  • Интернет-репозиторий для публикации проектов Node.js с открытым исходным кодом.
  • Утилита командной строки для управления пакетами Node.js, версиями и зависимостями.

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

В этом руководстве по устранению неполадок мы рассмотрим возможные шаги, которые можно предпринять для устранения ошибки. Мы будем использовать Ubuntu для демонстрации. Однако ключевые принципы применимы к любому другому дистрибутиву Linux.

 

Bash: npm: команда не найдена

Bash является оболочкой по умолчанию в большинстве дистрибутивов Linux. Когда мы запускаем команду на терминале, она переходит в Bash. Затем команда интерпретируется и выполняется.

Однако, если команда ищет инструмент, который Bash не распознает, она покажет ошибку.

Bash. Как исправить не найденный npm?

 

Как следует из вывода, Bash не может найти команду «npm», связанную с каким-либо псевдонимом или инструментом Bash. Мы можем вывести несколько возможных сценариев:

  • npm не установлен.
  • js не установлен.
  • Значение PATH (или соответствующей переменной среды) изменилось.
  • Проблемы с разрешением.
  • Была установлена ​​старая версия Node.js.

 

Свежая установка Node.js

Наше самое первое решение включает переустановку Node.js и всех его компонентов с нуля. Поврежденная установка или конфигурация могут вызвать такую ​​проблему во многих случаях. Мы удалим существующую установку, настроим выделенный репозиторий Node.js и создадим новую установку Node.js.

Читать  Как защитить Apache с помощью Let's Encrypt в Ubuntu 20.04

 

Удаление старых версий Node.js

Если у вас установлена ​​старая версия Node.js, настоятельно рекомендуется выполнить обновление до последней стабильной версии (текущей или LTS). Старое программное обеспечение часто полно ошибок и уязвимостей. Большая часть кибератак происходит из-за того, что старое программное обеспечение не обновляется/исправляется.

Сначала удалите Node.js с помощью диспетчера пакетов по умолчанию. Для Ubuntu APT — это менеджер пакетов. Выполните следующую команду, чтобы удалить Node.js и все его компоненты:

$ sudo apt autoremove --purge nodejs npm node

 

Затем выполните следующие команды, чтобы удалить все остатки из системы.

$ sudo rm -rf /usr/local/bin/npm
$ sudo rm -rf /usr/local/share/man/man1/node*
$ sudo rm -rf /usr/local/lib/dtrace/node.d
$ sudo rm -rf ~/.npm
$ sudo rm -rf ~/.node-gyp
$ sudo rm -rf /opt/local/bin/node
$ sudo rm -rf opt/local/include/node
$ sudo rm -rf /opt/local/lib/node_modules
$ sudo rm -rf /usr/local/lib/node*
$ sudo rm -rf /usr/local/include/node*
$ sudo rm -rf /usr/local/bin/node*

Установка последней версии Node.js
Наша основная цель — убедиться, что в вашей системе установлена ​​последняя версия Node.js. У нас уже есть подробное руководство по установке Node.js и npm в Ubuntu.

Короче говоря, выполните следующие команды, чтобы установить официальный репозиторий Node.js для Ubuntu. На момент написания этой статьи последняя текущая версия — Node.js v17.x, а последняя версия LTS — v16.x. По рекомендации официального сайта Node.js мы будем устанавливать LTS-версию:

$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -

 

Теперь установите Node.js:

$ sudo apt install nodejs -y

 

Читать  Команда wall в Linux с примерами

Теперь проверьте, распознает ли Bash npm как правильную команду.

$ npm help

 

Если процесс завершится успешно, вы получите страницу справки npm. В противном случае проблема сохранится.

 

Сбросить значение PATH

PATH — важная переменная среды, на которую полагаются многие части системы. Он сообщает оболочке (и системе), где искать определенные программы. Всякий раз, когда мы запускаем какую-либо команду, оболочка (в большинстве случаев Bash) ищет команду в местах, указанных в PATH. Если он не найден, он не распознает команду, даже если инструмент установлен правильно.

Чтобы увидеть значение переменной PATH, выполните следующую команду:

$ echo $PATH

 

В качестве альтернативы вы можете использовать следующую команду sed для печати вывода PATH. Он поместит каждую уникальную запись в новую строку.

$ sed 's/:/\n/g' <<< "$PATH"

 

Есть ли несоответствие в переменной PATH? В большинстве случаев в переменной PATH будет указано несколько путей. Попробуйте установить переменную PATH в состояние по умолчанию.

$ export PATH=$(getconf PATH)

После исправления переменной PATH проверьте, может ли Bash теперь найти npm.

$ npm help

 

Если это устранило проблему, рассмотрите возможность ручной установки переменной PATH с помощью файла bashrc. Короче говоря, добавьте следующие строки в файл bashrc.

$ export PATH=$(getconf PATH)
$ export PATH:$PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin

 

Здесь,

  • Первая строка устанавливает значение PATH по умолчанию.
  • Вторая строка добавляет несколько дополнительных местоположений для поиска двоичных файлов. Это необязательно, но рекомендуется для большинства дистрибутивов.
Читать  Максимальное использование справочных страниц в Linux

Убедитесь, что обновление прошло успешно.

$ echo $PATH

 

Если вы используете переносную версию Node.js, вы также должны убедиться, что двоичное расположение также включено в переменную PATH. В противном случае Bash не сможет распознать двоичный файл.

 

Последние мысли

В этой статье по устранению неполадок продемонстрированы некоторые решения для устранения проблемы, из-за которой Bash не может найти двоичный файл npm. Обратите внимание, что эти шаги предназначены для устранения общих неполадок. Если ваша проблема не устранена после их выполнения, вам следует обратиться за помощью к специалисту. Существуют огромные сообщества, такие как Stackexchange, которые могут помочь вам в вашей ситуации.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

5 × 4 =

**ссылки nofollow

Это может быть вам интересно

Рекомендуемое
Следуйте нашей статьи, чтобы узнать, как лучше всего удалить все…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: