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:
Ś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 nodeNastępnie uruchom następujące polecenia, aby usunąć wszelkie pozostałości z systemu.
$ sudo rm -rf/usr/local/bin/npmInstalowanie 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 -yTeraz sprawdź, czy Bash rozpoznaje teraz NPM za właściwe polecenie.
$ npm helpJeś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żkaAlternatywnie 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 helpJeś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)Tutaj,
Sprawdź, czy aktualizacja zakończyła się powodzeniem.
$ echo $ ścieżkaJeś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!