Jak naprawić Bash NPM nie znaleziono?

Jak naprawić Bash NPM nie znaleziono?
Jeśli pracujesz z JavaScript i Node.JS, znasz już NPM. Termin NPM odnosi się do dwóch rzeczy. Więcej o oficjalnym węźle.Dokumentacja JS.
  • Repozytorium online do publikowania węzła open source.Projekty JS.
  • Narzędzie do zarządzania węzłem do zarządzania.Pakiety JS, zarządzaj wersjami i zależnościami.

Za każdym razem, gdy instalujesz węzeł.JS, instaluje NPM Domyślnie menedżer pakietów. Z jakiegoś powodu możesz jednak zmierzyć się z problemem, że Bash nie rozpoznaje NPM za prawidłowe polecenie.

W tym przewodniku rozwiązywania problemów przyjrzymy się możliwym krokom, które możesz podjąć, aby rozwiązać problem. Będę używać Ubuntu do demonstracji. Jednak kluczowe zasady będą miały zastosowanie do dowolnej innej dystrybucji Linux.

Bash: NPM: Nie znaleziono polecenia

Bash to domyślna powłoka w większości dystrybucji Linux. Kiedy uruchamiamy polecenie na terminalu, idzie do Bash. Polecenie jest następnie interpretowane i wykonywane.

Jeśli jednak polecenie szuka narzędzia, którego Bash nie rozpoznaje, pokaże błąd.

Jak sugeruje dane wyjściowe, Bash nie może znaleźć polecenia „NPM” związane z dowolnym aliasem lub narzędziem Bash. Możemy wydedukować kilka możliwych scenariuszy:

  • NPM nie jest zainstalowany.
  • JS nie jest zainstalowany.
  • Wartość ścieżki (lub powiązanej zmiennej środowiskowej) zmieniona.
  • Problemy z uprawnieniami.
  • Stara wersja węzła.JS został zainstalowany.

Świeży węzeł.instalacja JS

Nasze pierwsze rozwiązanie obejmuje ponowne zainstalowanie węzła.JS i wszystkie jego komponenty od zera. Uszkodzona instalacja lub konfiguracja może w wielu przypadkach spowodować taki problem. Usuniemy istniejącą instalację, skonfigurujemy węzeł.JS dedykowane repozytorium i zrób świeży węzeł.instalacja JS.

Usuwanie starszych wersji węzła.JS
Jeśli masz starą wersję węzła.JS zainstalowano, a następnie zdecydowanie zaleca się aktualizację do najnowszej wersji stabilnej (bieżących lub LTS). Stare oprogramowanie jest często pełne błędów i luk w zabezpieczeniach. Duża część cyberataków dzieje się, ponieważ stare oprogramowanie nie jest aktualizowane/łatwe.

Najpierw usuń węzeł.JS za pomocą domyślnego menedżera pakietów. Dla Ubuntu APT jest menedżerem pakietów. Uruchom następujące polecenie, aby usunąć węzeł.JS i wszystkie jego komponenty:

$ sudo apt autoreMove -nodeJs nodeJS node

Następnie uruchom następujące polecenia, aby usunąć wszelkie pozostałości z systemu.

$ 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 ~/.węzeł-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*

Instalowanie najnowszego węzła.JS
Naszym głównym celem jest sprawdzenie, czy twój system ma najnowszą wersję węzła.Zainstalowane JS. Mamy już dogłębny przewodnik po instalacji węzła.JS i NPM na Ubuntu.

Krótko mówiąc, uruchom następujące polecenia, aby ustawić oficjalny węzeł.JS Repo dla Ubuntu. Pisząc ten artykuł, najnowszy aktualny Wersja to węzeł.JS V17.X, a najnowsza wersja LTS to v16.X. Zgodnie z zaleceniem węzła.Oficjalna strona internetowa JS, będziemy instalować wersję LTS:

$ curl -fssl https: // deb.węzłów.com/setup_16.x | sudo -e bash -

Teraz zainstaluj węzeł.JS:

$ sudo apt instal nodeJS -y

Teraz sprawdź, czy Bash rozpoznaje teraz NPM za właściwe polecenie.

$ npm help

Jeśli proces się powiedzie, otrzymasz stronę pomocy NPM. W przeciwnym razie problem będzie się utrzymywał.

Zresetuj wartość ścieżki

Ścieżka jest ważną zmienną środowiskową, na której polega wiele części systemu. Mówi powłoki (i systemowi), gdzie szukać niektórych programów. Ilekroć uruchamiamy dowolne polecenie, powłoka (w większości przypadków bash) szuka polecenia w lokalizacjach opisanych ścieżką. Jeśli go nie znaleziono, nie rozpozna polecenia, nawet jeśli narzędzie zostanie poprawnie zainstalowane.

Aby dowiedzieć się więcej o zmiennej ścieżki, sprawdź ten przewodnik na temat zmiany ścieżki w Linux.

Aby zobaczyć wartość zmiennej ścieżki, uruchom następujące polecenie:

$ echo $ ścieżka

Alternatywnie możesz użyć następującego polecenia SED, aby wydrukować wyjście ścieżki. Umieści każdy unikalny wpis w nowej linii.

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

Czy istnieje jakaś niespójność w zmiennej ścieżki? W większości przypadków będzie wiele ścieżek wymienionych w zmiennej ścieżki. Spróbuj ustawić zmienną ścieżki na stan domyślny.

$ Export Path = $ (ścieżka getConf)

Po ustaleniu zmiennej ścieżki sprawdź, czy Bash może znaleźć NPM Teraz.

$ npm help

Jeśli rozwiązał problem, rozważ ręczne ustawienie zmiennej ścieżki za pomocą pliku BASHRC. Dowiedz się więcej o eksportowaniu ścieżki w Bashrc. Krótko mówiąc, dodaj następujące wiersze do pliku BASHRC.

$ Export Path = $ (ścieżka getConf)
$ eksport ścieżka: $ ścieżka:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin

Tutaj,

  • Pierwszy wiersz ustawia wartość ścieżki do jej domyślnej.
  • Druga linia dodaje dodatkowe lokalizacje do poszukiwania plików binarnych. Jest to opcjonalne, ale zalecane dla większości dystrybucji.

Sprawdź, czy aktualizacja zakończyła się powodzeniem.

$ echo $ ścieżka

Jeśli używasz przenośnej wersji węzła.JS, musisz także upewnić się, że lokalizacja binarna jest również zawarta w zmiennej ścieżki. W przeciwnym razie Bash nie rozpozna binarnego.

Końcowe przemyślenia

Ten przewodnik rozwiązywania problemów wykazał niektóre rozwiązania, aby rozwiązać problem, w którym Bash nie może znaleźć NPM dwójkowy. Zauważ, że te kroki dotyczą ogólnego rozwiązywania problemów. Jeśli twój problem utrzymuje się po ich śledzeniu, powinieneś szukać pomocy eksperckiej. Istnieją ogromne społeczności, takie jak Stackexchange, które mogą pomóc w Twojej sytuacji.

Szczęśliwy komputer!