Поиск по сайту:
Машина не виновата в том, что уравнения максвелла не подходят для проектирования электромотора. (Алан.Дж.Перлис)

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

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.

Читать  Домашний каталог Linux

 

Удаление старых версий 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

 

Читать  Размещайте несколько сайтов на одном VPS с помощью Docker и Nginx

Теперь проверьте, распознает ли 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 по умолчанию.
  • Вторая строка добавляет несколько дополнительных местоположений для поиска двоичных файлов. Это необязательно, но рекомендуется для большинства дистрибутивов.
Читать  Как использовать команду readarray для чтения 2D-массива в Bash

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

$ echo $PATH

 

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

 

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

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

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

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


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


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

Спасибо!

Теперь редакторы в курсе.