Come si fissa Bash NPM non trovato?

Come si fissa Bash NPM non trovato?
Se stai lavorando con JavaScript e Node.JS, hai già familiarità con NPM. Il termine NPM si riferisce a due cose. Altro sul nodo ufficiale.Documentazione JS.
  • Un repository online per la pubblicazione del nodo open source.progetti JS.
  • Un'utilità della linea di comando per gestire il nodo.pacchetti JS, gestire versioni e dipendenze.

Ogni volta che installi il nodo.js, installa il npm pacchetti manager per impostazione predefinita. Per qualche motivo, tuttavia, potresti affrontare il problema che Bash non sta riconoscendo NPM come un comando valido.

In questa guida alla risoluzione dei problemi, daremo uno sguardo ai possibili passaggi che puoi prendere per risolvere l'errore. Userò Ubuntu per la dimostrazione. Tuttavia, i principi chiave si applicheranno a qualsiasi altra distribuzione di Linux.

Bash: NPM: comando non trovato

Bash è la shell predefinita sulla maggior parte dei Distri Linux. Quando eseguiamo un comando sul terminale, va a Bash. Il comando viene quindi interpretato ed eseguito.

Tuttavia, se il comando è alla ricerca di uno strumento che Bash non riconosce, mostrerà l'errore.

Come suggerisce l'output, Bash non è in grado di trovare il comando "NPM" relativo a qualsiasi alias o strumento bash. Possiamo dedurre un paio di possibili scenari:

  • Il NPM non è installato.
  • JS non è installato.
  • Valore del percorso (o una variabile di ambiente correlata) modificata.
  • Problemi di autorizzazione.
  • Una vecchia versione del nodo.JS è stato installato.

Nodo fresco.Installazione JS

La nostra primissima soluzione prevede il nodo reinstallato.JS e tutti i suoi componenti da zero. Un'installazione o una configurazione corrotta può causare tale problema in molti casi. Rimuoveremo l'installazione esistente, configura il nodo.JS Repo dedicato e crea un nodo nuovo.Installazione JS.

Rimozione delle versioni precedenti del nodo.js
Se hai una vecchia versione del nodo.JS installato, quindi si consiglia vivamente di aggiornare l'ultima versione stabile (corrente o LTS). Il vecchio software è spesso pieno di bug e vulnerabilità. Un grosso pezzo di attacchi informatici accade perché il vecchio software non viene aggiornato/patchato.

Innanzitutto, rimuovi il nodo.JS utilizzando il tuo pacchetti predefinito. Per Ubuntu, Apt è il gestore dei pacchetti. Esegui il comando seguente per rimuovere il nodo.JS e tutti i suoi componenti:

$ sudo apt AutoRemove - -Purge Nodejs NPM Node

Quindi, eseguire i seguenti comandi per rimuovere qualsiasi residuo dal sistema.

$ 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 ~/.nodo-gyp
$ sudo rm -rf/opt/local/bin/node
$ sudo rm -rf opt/locale/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*

Installazione del nodo più recente.js
Il nostro obiettivo principale è verificare che il tuo sistema abbia l'ultima versione del nodo.JS installato. Abbiamo già una guida approfondita sull'installazione del nodo.JS e NPM su Ubuntu.

In breve, eseguire i seguenti comandi per impostare il nodo ufficiale.JS Repo per Ubuntu. Quando si scrive questo articolo, l'ultimo attuale La versione è nodo.JS V17.X e l'ultima versione LTS è V16.X. Secondo la raccomandazione del nodo.Sito ufficiale di JS, installeremo la versione LTS:

$ CURL -FSSL https: // deb.nodource.com/setup_16.x | Sudo -e Bash -

Ora, installa il nodo.JS:

$ sudo apt install nodejs -y

Ora, verifica se Bash ora riconosce NPM come comando corretto.

$ npm aiuto

Se il processo ha esito positivo, otterrai la pagina della guida NPM. Altrimenti, il problema persisterà.

Ripristina il valore del percorso

Il percorso è un'importante variabile di ambiente su cui si basano molte parti del sistema. Dice alla shell (e al sistema) dove cercare determinati programmi. Ogni volta che eseguiamo qualsiasi comando, la shell (bash, nella maggior parte dei casi) cerca il comando nelle posizioni descritte dal percorso. Se non viene trovato, non riconoscerà il comando, anche se lo strumento è installato correttamente.

Per saperne di più sulla variabile del percorso, controlla questa guida su come cambiare il percorso in Linux.

Per vedere il valore della variabile del percorso, eseguire il comando seguente:

$ echo $ percorso

In alternativa, è possibile utilizzare il seguente comando SED per stampare l'uscita del percorso. Metterà ogni voce unica in una nuova riga.

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

C'è qualche incoerenza nella variabile del percorso? Ci saranno più percorsi elencati nella variabile del percorso nella maggior parte dei casi. Prova a impostare la variabile del percorso nel suo stato predefinito.

$ Export Path = $ (GetConf Path)

Dopo aver fissato la variabile del percorso, controlla se Bash può trovare npm Ora.

$ npm aiuto

Se ha risolto il problema, prendi in considerazione l'impostazione manuale della variabile del percorso utilizzando il file BASHRC. Ulteriori informazioni sull'esportazione del percorso in Bashrc. In breve, aggiungi le seguenti righe al file Bashrc.

$ Export Path = $ (GetConf Path)
$ ESPORT PATH: $ PATH:/USR/LOCAL/SBIN:/USR/LOCAL/BIN:/USR/SBIN:/SBIN

Qui,

  • La prima riga imposta il valore del percorso al suo valore predefinito.
  • La seconda riga aggiunge alcune posizioni aggiuntive per cercare binari. È facoltativo ma consigliato per la maggior parte delle distro.

Verifica se l'aggiornamento ha avuto successo.

$ echo $ percorso

Se stai utilizzando una versione portatile del nodo.JS, devi anche assicurarti che la posizione binaria sia inclusa anche nella variabile del percorso. Altrimenti, Bash non riconoscerà il binario.

Pensieri finali

Questa guida alla risoluzione dei problemi ha dimostrato alcune soluzioni per risolvere il problema in cui bash non riesce a trovare il npm binario. Si noti che questi passaggi sono per la risoluzione dei problemi generali. Se il tuo problema persiste dopo averli seguiti, dovresti cercare aiuto per esperti. Ci sono enormi comunità come StackExchange che possono aiutarti con la tua situazione.

Felice calcolo!