Comment réparer le NPM bash non trouvé?

Comment réparer le NPM bash non trouvé?
Si vous travaillez avec JavaScript et Node.JS, vous êtes déjà familier avec NPM. Le terme NPM fait référence à deux choses. Plus sur le nœud officiel.documentation JS.
  • Un référentiel en ligne pour publier le nœud open-source.Projets JS.
  • Un utilitaire de ligne de commande pour gérer le nœud.Packages JS, gérer les versions et les dépendances.

Chaque fois que vous installez le nœud.js, il installe le NPM Gestionnaire de package par défaut. Pour une raison quelconque, cependant, vous pouvez faire face au problème que Bash ne reconnaît pas le NPM comme une commande valide.

Dans ce guide de dépannage, nous allons jeter un œil aux étapes possibles que vous pouvez prendre pour dépanner l'erreur. J'utiliserai Ubuntu pour la démonstration. Cependant, les principes clés s'appliqueront à toute autre distribution Linux.

Bash: npm: commande introuvable

Bash est le shell par défaut sur la plupart des distros Linux. Lorsque nous exécutons une commande sur le terminal, il va à Bash. La commande est alors interprétée et exécutée.

Cependant, si la commande recherche un outil que Bash ne reconnaît pas, il affichera l'erreur.

Comme le suggère la sortie, Bash ne peut pas trouver la commande «npm» liée à tout alias ou outil bash. Nous pouvons déduire quelques scénarios possibles:

  • Le NPM n'est pas installé.
  • JS n'est pas installé.
  • La valeur du chemin (ou la variable d'environnement associée) a modifié.
  • Problèmes d'autorisation.
  • Une ancienne version de Node.JS a été installé.

Nœud frais.Installation JS

Notre toute première solution consiste à réinstaller le nœud.JS et tous ses composants à partir de zéro. Une installation ou une configuration corrompue peut entraîner un tel problème dans de nombreux cas. Nous supprimerons l'installation existante, configurer le nœud.JS Repo dédié et faire un nouveau nœud.Installation JS.

Supprimer les anciennes versions de Node.js
Si vous avez une ancienne version de Node.JS installé, puis il est fortement recommandé de passer à la dernière version stable (actuelle ou LTS). Les vieux logiciels sont souvent pleins de bogues et de vulnérabilités. Un gros morceau de cyberattaques se produit parce que les anciens logiciels ne sont pas mis à jour / correctifs.

Tout d'abord, supprimez le nœud.js en utilisant votre gestionnaire de packages par défaut. Pour Ubuntu, APT est le gestionnaire de packages. Exécutez la commande suivante pour supprimer le nœud.JS et tous ses composants:

$ sudo apt AutoreMove - Purge nodejs npm nœud

Ensuite, exécutez les commandes suivantes pour supprimer tout résidu du système.

$ sudo rm -rf / usr / local / bin / npm
$ sudo rm -rf / usr / local / share / man / man1 / nœud *
$ sudo rm -rf / usr / local / lib / dtrace / nœud.d
$ sudo rm -rf ~ /.NPM
$ sudo rm -rf ~ /.gypne de nœuds
$ sudo rm -rf / opt / local / bin / nœud
$ sudo rm -rf opt / local / include / nœud
$ sudo rm -rf / opt / local / lib / node_modules
$ sudo rm -rf / usr / local / lib / nœud *
$ sudo rm -rf / usr / local / include / nœud *
$ sudo rm -rf / usr / local / bin / nœud *

Installation du dernier nœud.js
Notre objectif principal est de vérifier que votre système a la dernière version de Node.JS installé. Nous avons déjà un guide approfondi sur l'installation de nœud.JS et NPM sur Ubuntu.

En bref, exécutez les commandes suivantes pour définir le nœud officiel.JS Repo pour Ubuntu. Lors de la rédaction de cet article, le dernier actuel La version est nœud.JS V17.x, et la dernière version LTS est v16.X. Selon la recommandation du nœud.Site officiel JS, nous installerons la version LTS:

$ curl -fssl https: // deb.nœud.com / setup_16.X | sudo -e bash -

Maintenant, installez le nœud.JS:

$ sudo apt install nodejs -y

Maintenant, vérifiez si Bash reconnaît maintenant le NPM comme une commande appropriée.

$ aide NPM

Si le processus réussit, vous obtiendrez la page d'aide du NPM. Sinon, le problème persistera.

Réinitialiser la valeur du chemin

Le chemin est une variable d'environnement importante sur laquelle de nombreuses parties du système reposent. Il indique au shell (et au système) où chercher certains programmes. Chaque fois que nous exécutons une commande, le shell (bash, dans la plupart des cas) recherche la commande dans les emplacements décrits par chemin. S'il n'est pas trouvé, il ne reconnaîtra pas la commande, même si l'outil est installé correctement.

Pour en savoir plus sur la variable de chemin, consultez ce guide sur la façon de modifier le chemin de Linux.

Pour voir la valeur de la variable de chemin, exécutez la commande suivante:

$ echo $ chemin

Alternativement, vous pouvez utiliser la commande SED suivante pour imprimer la sortie du chemin. Il mettra chaque entrée unique dans une nouvelle ligne.

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

Y a-t-il une incohérence dans la variable de chemin? Il y aura plusieurs chemins répertoriés dans la variable de chemin dans la plupart des cas. Essayez de définir la variable de chemin à son état par défaut.

$ Export Path = $ (GetConf Path)

Après avoir fixé la variable de chemin, vérifiez si Bash peut trouver NPM maintenant.

$ aide NPM

S'il résolut le problème, envisagez de définir manuellement la variable de chemin à l'aide du fichier bashrc. En savoir plus sur l'exportation de chemin dans Bashrc. Bref, ajoutez les lignes suivantes au fichier bashrc.

$ Export Path = $ (GetConf Path)
$ Export Path: $ path: / usr / local / sbin: / usr / local / bin: / usr / sbin: / sbin

Ici,

  • La première ligne définit la valeur du chemin vers sa valeur par défaut.
  • La deuxième ligne ajoute des emplacements supplémentaires pour rechercher des binaires. C'est facultatif mais recommandé pour la plupart des distros.

Vérifiez si la mise à jour a réussi.

$ echo $ chemin

Si vous utilisez une version portable de Node.JS, vous devez également vous assurer que l'emplacement binaire est également inclus dans la variable de chemin. Sinon, Bash ne reconnaîtra pas le binaire.

Dernières pensées

Ce guide de dépannage a démontré certaines solutions pour résoudre le problème où Bash ne peut pas trouver le NPM binaire. Notez que ces étapes concernent le dépannage général. Si votre problème persiste après les avoir suivis, vous devriez demander de l'aide experte. Il y a des communautés massives comme StacKExchange qui peuvent vous aider dans votre situation.

Happy Computing!