'npm' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch


202

Sono completamente nuovo a nodejs. Sto cercando di far funzionare nodejs sul mio box di Windows 2008 per installare Karma che userei per TDDing il mio codice AngularJs. Finora ho fatto i seguenti passi

  1. L'installazione tramite Chocolatey ==> npm non è riconosciuta
  2. L'installazione mediante il programma di installazione nodejs a 64 bit da nodejs.org ==> npm non è riconosciuta
  3. In questa fase, correre where npmmi dà c:\User\<Username>\AppData\Roaming\npmche non ha nulla in esso
  4. Ho capito che nodejs è installato in C:\Program Files\nodejs. L'apertura di un prompt dei comandi in questa directory npmfunziona correttamente.
  5. Così ho aggiunto C:\Program Files\nodejsper PATHottenere solo ancora una volta che lo stesso errorenpm is not recognized
  6. Uno dei problemi di github sul repository nodejs dice che ho bisogno di riavviare la macchina e risolverà. Ma questo non ha aiutato finora
  7. Vedo Node.jsun'icona nel mio Start -> Programmsmenu che mi porta alla console nodejs ma non sono sicuro di cosa fare.

Ho perso qualche passo importante nel processo?

modificare

Ho capito che se apro "Nodejs command prompt" dai file di programma, allora npm viene riconosciuto. Come faccio a farlo funzionare su un normale prompt dei comandi?

modificare

Dopo nodeaver iniziato ad affrontare un problema simile con un'altra applicazione. Ho pubblicato questa domanda su superutente e, come giustamente sottolineato dalla risposta accettata, avevo un preventivo aggiuntivo nel mio PATHche causava problemi con tutti i percorsi aggiunti dopo il preventivo. Ho la sensazione che alcune installazioni di Chocolatey aggiungano questa citazione preoccupante, ma non sono sicuro di quale.


8
Dopo aver aggiunto a PATH, hai riavviato la riga di comando? PATHviene caricato solo quando si inizializzano nuove sessioni della riga di comando.
Davin Tryon,

Sì, Davin, ho riavviato più volte la riga di comando
Suhas,

Ho "C: \ Programmi \ nodejs \" nel mio sistema PATHe tutto funziona su Windows 7.
Davin Tryon

5
Puoi aprire un nuovo prompt dei comandi e digitare PATH(premere <invio>) e ricontrollare che sia visualizzato "C: \ Programmi \ nodejs \"?
Davin Tryon,

1
Sì, io ho C:\Program Files\nodejsinPATH
Suhas

Risposte:


347

Aggiungi solo:

;C:\Program Files\nodejs\

Alla fine della variabile Path nella sezione "Variabile utente" delle Variabili d'ambiente nelle Proprietà del sistema.

Successivamente, riapri il prompt dei comandi e digita

npm

Questo dovrebbe funzionare.


4
Il motivo per cui non ho accettato la risposta è che avevo già inserito quel percorso. Il motivo per cui non funzionava era diverso. Ho dato un pollice in su per la tua risposta però
Suhas

4
il punto e virgola separa le diverse variabili utente che è possibile avere. Quindi normalmente hai già alcuni percorsi nelle variabili di ambiente e per aggiungerne uno nuovo, devi prima separarti dal resto aggiungendo un punto e virgola prima del percorso che desideri aggiungere.
Breno,

2
impiega un po 'di tempo a trovare Come aggiungere <code>; C: \ Programmi \ nodejs \ </code> su "Variabile utente". Condividi qui sotto: 1: Apri la finestra Proprietà del sistema (Start -> Impostazioni -> Pannello di controllo -> Prestazioni e manutenzione -> Sistema). 2. Selezionare la scheda Avanzate. 3.Fare clic sul pulsante Variabili d'ambiente. 4.Fare clic sul pulsante Nuovo sotto "Variabili utente" 5.aggiungere "Percorso" e "; C: \ Programmi \ nodejs \"
Wen,

6
Il programma di installazione node.js ha già inserito la variabile path per me. Ma non ho ancora npm sulla riga di comando.
MrFox,

7
Hai riavviato @MrFox?
Breno,

116

Non dimenticare di riavviare il computer dopo aver installato il nodo! Quello mi ha preso.


Non sono sicuro se è necessario se si installa utilizzando Chocoletey.
Suhas,

58
Non dovresti riavviare, ma piuttosto chiudi il terminale e riaprilo.
Pesce gatto

5
Riavvia, riavvia, riavvia!
Andrew Day,

@Suhas ... win 10 - admin PS prompt -choco install nodejs - riavviato Code ... STILL ha dovuto riavviare
felickz

Il codice VS si è aggiornato da solo. Ho dovuto riavviare, nient'altro ha funzionato.
TDP

33

Per approfondire la risposta di Breno ... Per Windows 7 questi passaggi hanno funzionato per me:

  1. Apri il Pannello di controllo (fai clic sul pulsante Start, quindi fai clic su Pannello di controllo )
  2. Fai clic su Account utente
  3. Fai clic su Cambia le mie variabili di ambiente
  4. Selezionare PATH e fare clic sul Modifica ... tasto
  5. Alla fine del valore della variabile, aggiungere ;C:\Program Files\nodejs
  6. Fai clic su OK nella finestra "Modifica variabile utente", quindi fai clic su OK nella finestra "Variabili d'ambiente"
  7. Avvia una finestra del prompt dei comandi (pulsante Start, quindi digita cmd nella ricerca e premi invio)
  8. Al prompt ( C:\>) digitare npm e premere invio ; ora dovresti vedere del testo di aiuto ( Usage: npm <command>ecc.) anziché " npm non riconosciuto ... "

Ora puoi iniziare a usare npm !


6
Su alcuni sistemi potrebbe essere ;C:\Program Files(x86)\nodejs.
Kaiser,


17

Non dimenticare di eseguire cmd come amministratore.


Ho installato Node all'esterno Program Filese questo ha risolto il problema. Grazie.
Pauline,

Una cosa così semplice che tutti hanno perso. Grazie Raul. La tua risposta è l'ultima non ultima e risolto il problema. grazie amico
Gaurav Khurana,

12

Ho avuto lo stesso problema descritto da Ashu , ma in aggiunta a ciò, la voce PATH per nodejs è stata terminata da una barra rovesciata:

C:\Program Files\nodejs\

Ho anche dovuto rimuovere quella barra rovesciata finale per farlo funzionare.


1
Scrivi "in aggiunta" ma l'unica modifica che ho dovuto apportare è stata quella di rimuovere la barra finale nella variabile di ambiente del sistema Path.
Scott Munro,

9

Ho riscontrato lo stesso identico problema e noto che dopo l'installazione di node.js c'era una nuova voce del percorso nella sezione delle variabili utente per PATH con valore -> c: \ User \\ AppData \ Roaming \ npm. Anche la voce Path nella variabile di sistema viene aggiunta con -> C: \ Programmi \ nodejs. Ora poiché la variabile utente ha la preferenza sul sistema, hai due opzioni per risolvere questo problema. Eliminare il percorso dalla variabile utente o correggere il percorso corretto (C: \ Programmi \ nodejs). Riavvia CMD e dovrebbe funzionare.


7

Basta scaricare e installare Node.js da qui https://nodejs.org/en/

Se esegui il file scaricato e lo installi, si configureranno automaticamente per il tuo sistema

Non hai più bisogno di altre configurazioni, ora puoi usare il comando npm ovunque


Se Nodejs è installato correttamente e visualizza ancora il messaggio in questo modo:

'npm' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch.

Seguire i passaggi seguenti per gli utenti Windows:

  1. Vai su Proprietà del mio computer
  2. Fai clic su Impostazioni di sistema avanzate dalla barra di sinistra di una finestra.
  3. Ora hai una finestra Proprietà del sistema. Fai clic su Avanzate
  4. Quindi, fare clic sul pulsante Variabile d'ambiente
  5. Ora hai la finestra delle variabili d'ambiente: da Variabile di sistema , seleziona Percorso
  6. Fai clic su Modifica
  7. Alla fine del valore della variabile, aggiungere ;C:\Program Files\nodejs\

    Nota : se hai installato nodejs su altre unità, ti preghiamo di agire di conseguenza.

  8. Fai clic su OK per aprire tutta la finestra di dialogo

Nota molto importante : "Chiudi il prompt dei comandi e riavvia nuovamente" (È molto importante perché se non hai riavviato il prompt dei comandi le modifiche non verranno applicate.)

Ora puoi usare il comando npm ovunque


6

Se si utilizza il codice VS, chiudere il codice VS e riaprirlo.

Ho provato a chiudere Terminal e quindi ad aprire un nuovo Terminal ma non ha funzionato.

Il riavvio del codice VS funziona!


4

Ha avuto lo stesso problema su Windows 8.1 a 64 bit.
Si scopre che ottengo quel problema se avvio cmd digitandolo nella barra del percorso nella parte superiore della finestra di una cartella
o
quando si sposta il pulsante destro del mouse in una finestra della cartella e quindi apro il prompt dei comandi dall'elenco.

Quando eseguo cmd usando Run o Just dall'eseguibile cmd.exe funziona.


4

Se ricevi questo errore tramite un account di servizio come Visual Studio TFS Build controller service o qualsiasi altro servizio in background, assicurati di riavviare il servizio dopo aver installato npm poiché le nuove impostazioni dell'ambiente PATH non verranno rilevate da quei processi già in esecuzione. Stavo ottenendo lo stesso errore attraverso il mio servizio di build ma avevo npm installato e in esecuzione nella console.


4

Potresti aver già ricevuto una risposta, ma questo potrebbe aiutare gli altri da quando ho riscontrato lo stesso problema di recente ed è quello che ho fatto:

  1. Fornito una voce di percorso per PowerShell. Per me il percorso era C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Quindi ho aperto il prompt cmd con privilegi di amministratore e l'ho copiato

    @powershell -NoProfile -ExecutionPolicy senza restrizioni -Command "iex ((new-object net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ cioccolatoso \ bin

nel prompt cmd.

  1. Successivamente, choco installa nodejs
  2. Riavvia e tutto ha funzionato bene. Prova ad aprire cmd senza i privilegi di amministratore ed esegui npm -v Cheers.

3

Ho riscontrato anche questo problema. Si scopre che Windows non gode di virgolette singole sulla riga di comando. Il colpevole era uno dei miei script npm. Ho cambiato le virgolette singole per evitare le doppie virgolette:

'npm -s run sass-build'

per

\"npm -s run sass-build\"

3

Sto aggiornando questa discussione con una nuova risposta perché ho trovato la soluzione alla mia miserabile situazione dopo non meno di una settimana ...

Per coloro che continuano a riscontrare l'errore anche se il valore del loro percorso è impostato correttamente, controlla la variabile pathext per avere il valore (valore predefinito in Windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; wsf; .wsh; msc

Il mio doveva essere impostato solo su: .BAT e cambiarlo ha risolto il problema. Mi chiedo perché nessuno lo abbia sollevato ...

Spero che questo ti aiuti!


2

Ho installato nodejs seguendo questo tutorial di AngularJS . il comando npm ha funzionato quando ho aperto una nuova finestra cmd ma non in quella corrente.
Quindi la soluzione era chiudere e aprire una nuova finestra cmd .


2

Ho riscontrato questo problema l'altro giorno sul mio computer con Windows 7. Il problema non era il mio percorso, ma dovevo usare barre rovesciate di escape invece di barre rovesciate come questa:

"scripts": {
    "script": ".\\bin\\script.sh"
}

2

Se il pacchetto è installato correttamente e mostra ancora il messaggio " 'npm' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch. "

  1. Fai clic sul pulsante Start di Windows.
  2. Cerca " TUTTE LE APP ", qui vedrai il prompt dei comandi Node.js e Node.js.
  3. È possibile eseguire il prompt dei comandi Node.js come amministratore e non appena eseguito mostrerà il messaggio "Il tuo ambiente è stato impostato per l'utilizzo di Node.js 6.3.0 (x64) e npm".

e poi funziona da lì ...


1

Ho installato Node.js e mentre provavo a installare Ionic e cordova usando questo pezzo di codice:

npm install -g cordova ionic

Ho riscontrato l'errore sopra riportato. Ho aggiunto 'C: \ Programmi \ nodejs' alla mia variabile d'ambiente 'PATH'. Ma non è stato ancora possibile superare questo problema. Ho scoperto che la mia variabile PATH era più lunga di 2048 caratteri e quindi non ero in grado di aggiungere il percorso Nodejs. Ho dovuto rimuovere il percorso di un altro programma e aggiungere il percorso Nodejs. Chiudi e riapri il prompt cmd e prova a installare nuovamente Ionic. Questo ha funzionato per me.


1

per me aggiungere il percorso a PATH non ha funzionato. Esegui c:\Program Files\nodejs\nodevars.batinvece, farà il lavoro per te


1

Bene nel mio caso facendo test tramite Mocha ho provato di tutto solo per rendermi conto che devo rimuovere le virgolette singole attorno al mio tag di script del caso di test all'interno package.json.

Sto eseguendo mochatest case su tutti i *.test.jsfile come puoi vedere di seguito:

package.json

Prima:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Dopo (rimuovendo le virgolette singole - npm run test):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Ha funzionato per me, nel caso in cui anche qualcun altro si blocchi su questo.


1

Se tutto sembra a posto. Vorrei consigliare di controllare questo per PATHEXT .CMD deve essere aggiunto. inserisci qui la descrizione dell'immagine


La tua risposta ha risolto il mio problema al 100%. Grazie.
Gauthier Buttez,

0

Per windows8, fai clic con il pulsante destro del mouse sulle proprietà del mio PC, quindi fai clic su Variabili d'ambiente Variabile utente o Variabili di sistema >> Nuovo >> inserisci il nome e il percorso della variabile: in questo modo C:\Program Files\nodejs Quindi ok ora apri cmd e digita npm funzionerà


2
Ciao! Benvenuti in SO. Dai un'occhiata alla sezione di aiuto su come rispondere . In che cosa differisce dalle risposte precedentemente pubblicate? C'è qualcosa di specificamente diverso dalla risposta di @ Luke per Windows 7? Il problema menzionato con ;nel percorso non si applica? Se lo stai solo confermando, sì, la risposta accettata è ancora applicabile in Windows 8, ti preghiamo di considerare di eliminare la tua risposta e aggiungere le informazioni come commento alla risposta accettata. Se stai portando qualcosa di nuovo sul tavolo, aggiorna la tua risposta per riflettere ciò. Meglio
wahwahwah,

0

seguire solo 2 passaggi 1.Scaricare nodejs manualmente ora andare a quel percorso come C: \ Programmi \ nodejs \ 2. Quindi aggiungere un nuovo percorso come nome: percorso e nome variabile: C: \ Programmi \ nodejs \ fare clic su OK e chiudere prompt cmd. riaprire e digitare npm nel prompt


0

Controlla npm config con il comando:

npm config list

Ha bisogno di proprietà: "prefisso", "prefisso" globale e "posizione bin nodo".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

In questo caso è necessario aggiungere questi percorsi alla fine della variabile d'ambiente PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;

0

Se hai utilizzato gli strumenti di compilazione ms per installare il nodo, il percorso è qui:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs

-2

Abbiamo bisogno di installare nodejs e nient'altro che dobbiamo fare e quindi semplicemente utilizzare il prompt dei comandi e cambiare directory nel progetto in cui si desidera installare npm e quindi utilizzare il comando npm install. Ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.