Il comando nodemon non è riconosciuto nel terminale per il server node js


89

Sto eseguendo la configurazione del server node.js da https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens . Sono nuovo in node.js. Sto installando npm install nodemon --save. Ma quando eseguo il server con questo nodemon server.js.
Nel terminale che mostra:

nodemon non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch

inserisci qui la descrizione dell'immagine

node server.jsil comando funziona e ha avviato il server, ma il nodemoncomando non funziona.

Ho configurato il server js del nodo dal video https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens .

Non so perché non funziona, ho provato qualche comando per l'installazione di nodemon.

npm install -g nodemon 
npm install -g nodemon --save 
npm install --save-dev nodemon 
npm install -g nodemon@debug 

npm install -g --force nodemon

Ho visto un collegamento che non posso installare nodemon a livello globale, "nodemon" non riconosciuto , ma non so come impostare il percorso a causa della posizione del mio progetto nell'unità D.

Voglio correre nodemon server.js. Se qualcuno ha un'idea, condividila. Grazie in anticipo.

Risposte:


222

Devi installarlo globalmente

npm install -g nodemon
# or if using yarn
yarn global add nodemon

E poi sarà disponibile sul percorso (vedo ora che l'hai provato e non ha funzionato, il tuo percorso potrebbe essere incasinato)

Se desideri utilizzare la versione installata localmente, invece di installarla globalmente, puoi creare uno script nel tuo package.json

"scripts": {
    "serve": "nodemon server.js"
  },

e poi usa

npm run serve

opzionalmente se si utilizza il filato

# without adding serve in package.json
yarn run nodemon server.js
# with serve script in package.json
yarn run serve

npm cercherà quindi nella cartella node_modules locale prima di cercare il comando nei moduli globali


Cosa non funziona? Lo script che utilizza l'installazione locale?
ndonohoe

Yaa. Ho installato nodemon. Ho inserito lo script nel file package.json. E dopo run npm run serve. Dopo tutto, esegui nodemon server.js ma non funziona.
Martin

package.json: {"scripts": {"serve": "nodemon server.js"}, "name": "node-site", "version": "1.0.0", "description": "", " main ":" server.js "," scripts ": {" test ":" echo \ "Errore: nessun test specificato \" && exit 1 "}," author ":" "," license ":" ISC ", "dependencies": {"express": "^ 4.14.0", "nodemon": "^ 1.11.0"}, "devDependencies": {"gulp-nodemon": "^ 2.2.1", "nodemon": "^ 1.11.0"}}
Martin

Puoi chiarire "non funziona"? C'è un errore? Non succede niente?
ndonohoe

Potrebbe essere perché hai due serie di script lì dentro, devi avere tutti gli script in un oggetto script
ndonohoe

32
  1. Installa nodemon a livello globale:

    C:\>npm install -g nodemon
    
  2. Ottieni prefisso:

    C:\>npm config get prefix
    

    Otterrai l'output come segue nella tua console:

    C:\Users\Family\.node_modules_global
    

    Copialo.

  3. Imposta percorso.
    Vai a Impostazioni di sistema avanzate → Variabile d'ambiente → Fai clic su Nuovo (in Variabili utente) → Verrà visualizzato il modulo popup → Passa i seguenti valori:

    variable name = path,
    variable value = Copy output from your console
    
  4. Ora esegui Nodemon:

    C:\>nodemon .
    

Funziona !! Questo è quello che stavo cercando. Grazie
yashjain12yj

questo ha funzionato per me. In realtà ho finestre e avevo bisogno di correggere le variabili d'ambiente. Grazie :)
Laveena

21

Per prima cosa, scrivi npm install --save nodemon quindi in package.json scrivi quanto segue

"scripts": {
    "server": "nodemon server.js"
  },

allora scrivi

npm run server

Questo ha funzionato! Molte grazie. Solo una query, nodemon ci impedisce di riavviare il file del server, ma dobbiamo ancora aggiornare il browser. Il browser può aggiornarsi da solo, come fa in angolare?
Rahul Sharma

8

Stavo affrontando lo stesso problema. Avevo installato nodemon come dipendenza dev e quando ho provato ad avviare il server mi ha dato il messaggio che

nodemon non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch

Quindi l'ho installato globalmente e ho provato ad avviare il server e ha funzionato!

npm install -g nodemon

6

Deve essere installato a livello globale? Hai bisogno di essere in grado di correre nodemon server.js? In caso contrario, puoi sempre chiamarlo dalla directory del progetto locale. Dovrebbe essere qui:

node_modules/.bin/nodemon

Questo è utile per me per eseguire la mia API nodejs dallo script di shell. Grazie mille!
Nam G VU

4

Poiché il prefisso del nodo non è nella variabile PATH ENV, nessuno dei moduli installati a livello globale non viene riconosciuto. Per favore prova questo. Apri il prompt cmd npm config ottieni il prefisso aggiungi il percorso risultante alla variabile PATH env. Ora dovresti essere in grado di eseguire nodemon da qualsiasi posizione. provare questo collegamento e seguirlo. correggere i permessi npm https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory


Nel tuo link ci sono le istruzioni per Linux, hai qualcosa per Windows?
Jose Rojas

4

Questa linea ha risolto il mio problema in CMD:

npm install --save-dev nodemon

3
L'installazione globale di nodemon non ha funzionato per me, ma questa ha funzionato :)
codemirror

4

Potrebbe arrivare tardi, ma è meglio dire qualcosa :)

Se non vuoi installare nodemon globbaly che puoi usare npx, installa il pacchetto in fase di esecuzione e si comporterà come pacchetto globale (tieni presente che è disponibile solo al momento e non esiste globalmente!).

Quindi tutto ciò di cui hai bisogno è npx nodemon server.js.

  • npxpuò essere utilizzato immediatamente dalla npm@5.2.0versione in poi.

3

Per utilizzare nodemon è necessario installarlo globalmente.

Per Windows

npm i -g nodemon

Per Mac

sudo npm i -g nodemon

Se non vuoi installarlo globalmente puoi installarlo localmente nella cartella del tuo progetto eseguendo command npm i nodemon . Darà un errore simile a questo se eseguito localmente:

nodemon: il termine "nodemon" non viene riconosciuto come nome di un file
cmdlet, funzione, file di script o programma eseguibile. Controlla l'ortografia
del nome o, se è stato incluso un percorso, verificare che il percorso sia
correggi e riprova.

Per rimuovere questo errore, aprire il package.json file e aggiungere

"scripts": {
     "server": "nodemon server.js"
 },

e dopo di che esegui il comando

npm esegue il server

e il tuo nodemon inizierà a funzionare correttamente.


1
Sbagliato. Il tuo script dovrebbe dire {"server": "nodemon server.js"}
joedotnot

3

Non è necessario installare nodemon a livello globale. Basta eseguire questo npx nodemon <scriptname.js> . Questo è tutto.


1

Ho appena avuto lo stesso problema dopo aver creato un nuovo profilo utente sulla mia macchina di sviluppo.

Il problema era che non stavo eseguendo la console (prompt dei comandi \ powershell ISE) come amministratore.

L'esecuzione come amministratore ha risolto questo problema per me.


1

Ho provato a installare il nodemon a livello globale ma non ha funzionato per me. ogni volta che provo a eseguirlo mi mostra sempre l'errore:

nodemon : The term 'nodemon' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling
of the name, or if a path was included, verify that the path is
correct and try again.

2. Ho trovato due soluzioni per questo

soluzione 1:

Quello che ho provato è di aggiornare gli "script" nel file package.json e lì ho aggiunto

"server": "nodemon app.js"

sopra la riga di codice e dopo

npm run server

Soluzione 2:

  1. Premi il tasto Windows.

  2. Digita "Percorso" nella casella di ricerca e seleziona "Modifica le variabili di ambiente di sistema"

  3. Fare clic su "Variabili d'ambiente" in basso.

  4. Nella sezione "Variabili di sistema" fare doppio clic sulla variabile "Percorso".

  5. Fare clic su "Nuovo" sul lato destro.

  6. Copia e incolla questo nella casella (sostituisci [Nome utente]):

C: \ Users [nome utente] \ AppData \ Roaming \ npm

  1. riavvia il tuo terminale e VSCode.

  2. Quindi digita nodemon app.jsper eseguire il nodemon

ho applicato la soluzione 2 perché dobbiamo solo eseguire nodemon [nomefile.js]


0

Puoi eseguire l'app del nodo semplicemente digitando nodemon It First run index.js Puoi inserire facilmente il tuo punto di ingresso in quel file.

Se non hai installato nodemon, devi prima installarlo con

npm install -g nodemon

Se hai un errore di autorizzazione, usa

sudo npm install -g nodemon

Puoi controllare che nodemon esista o meno da

nodemon -v

0

Esegui questo comando:

npm install nodemon -g

Ora installerà il nodemon ma il problema con il mio caso è che sta installando nodemon da qualche altra parte.Ho aggiunto il percorso di Nodejs da (ProgramFiles (x86)) ma non ha funzionato, quindi ho trovato un'altra soluzione.

  • Esegui comando sopra
  • Ci sarà un percorso mostrato durante l'installazione in cui è installato nodemon, quindi [Si prega di andare al collegamento sotto per vedere il percorso] [1]

    [1]: https://i.stack.imgur.com/ld2sU.png

  • Copia il percorso fino a npm e impostalo sulla variabile di ambiente
  • Ora prova il comando seguente, si spera che venga eseguito

      nodemon YourAppName.js

0

Tutte le opzioni di cui sopra sono fallite, ho la soluzione permanente per questo. Aggiungi sotto la riga in package.json in dipendenze e run npm install. Questo aggiungerà il pacchetto nodemon a node_modules e il gioco è fatto, goditi la codifica.

"nodemon": "^1.17.*"

3
Benvenuto in Stack Overflow. Quando si risponde a una vecchia domanda con risposte esistenti, è utile spiegare quali nuove informazioni porta la risposta. Questa risposta non sembra mostrare un'installazione globale, fa riferimento a una versione specifica (quindi non invecchierà bene) e non risponde alla domanda che è stata posta in quanto non mostra come abilitare il comando.
Jason Aller

0

Installa globalmente

 npm install -g  nodemon

Ha funzionato per me su Windows 10.

nodemon app.js

0

Il criterio di esecuzione predefinito del cmdlet Set-ExecutionPolicy è Restricted per Windows. Puoi provare a installare nodemon impostando questo criterio su Unrestricted.

eseguire il comando: Set-ExecutionPolicy Unrestricted e quindi provare a installare nodemon ed eseguire il comando:nodemon -v


0

Ho risolto in questo modo

  1. disinstallare il nodemon locale esistente

    npm disinstalla nodemon

  2. installalo di nuovo globalmente.

    npm i -g nodemon


-2

Rimuovi nodemon perché è una dipendenza dev e usa node invece di esso.

"scripts": {
     "start": "node server.js"
 },

Questo ha funzionato per me.


Non risponde alla domanda. node e nodemon hanno scopi diversi.
joedotnot

è una cosa diversa. Per nodemon dovrebbe essere "server": "nodemon app.js"
Shubham Kumar
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.