El comando nodemon no se reconoce en la terminal para el servidor node js


86

Estoy configurando el servidor node.js desde https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens . Soy nuevo en node.js. Estoy instalando npm install nodemon --save. Pero cuando ejecuto el servidor con esto nodemon server.js.
En la terminal mostrando:

nodemon no se reconoce como comando interno o externo, programa operable o archivo por lotes

ingrese la descripción de la imagen aquí

node server.jsEl comando está funcionando e inició el servidor, pero el nodemoncomando no funciona.

Estoy configurado el servidor js del nodo desde https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens video.

No sé por qué no funciona. He probado algún comando para instalar 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

He visto un enlace que no puedo instalar nodemon globalmente, "nodemon" no reconocido , pero no sé cómo establecer la ruta debido a la ubicación de mi proyecto en la unidad D.

Quiero correr nodemon server.js. Si alguien tiene una idea por favor compártala. Gracias por adelantado.

Respuestas:


208

Necesitas instalarlo globalmente

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

Y luego estará disponible en la ruta (veo que ahora lo intentaste y no funcionó, tu ruta puede estar en mal estado)

Si desea utilizar la versión instalada localmente, en lugar de instalarla globalmente, puede crear un script en su package.json

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

y luego usa

npm run serve

opcionalmente si se usa hilo

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

npm buscará en su carpeta local node_modules antes de buscar el comando en sus módulos globales


¿Qué no funciona? ¿El script utiliza instalación local?
ndonohoe

Yaa. He instalado nodemon. Puse el script en el archivo package.json. Y después de ejecutar npm ejecutar serve. Después de todo, ejecute nodemon server.js pero no funciona.
Martin

package.json: {"scripts": {"serve": "nodemon server.js"}, "nombre": "node-site", "versión": "1.0.0", "descripción": "", " main ":" server.js "," scripts ": {" test ":" echo \ "Error: no se ha especificado ninguna prueba \" && exit 1 "}," autor ":" "," licencia ":" ISC ", "dependencias": {"express": "^ 4.14.0", "nodemon": "^ 1.11.0"}, "devDependencies": {"gulp-nodemon": "^ 2.2.1", "nodemon": "^ 1.11.0"}}
Martin

¿Puede aclarar "no funciona"? ¿Hay algún error? ¿No pasa nada?
ndonohoe

Puede ser porque tiene dos conjuntos de scripts allí, debe tener todos los scripts en un objeto de scripts
ndonohoe

31
  1. Instale nodemon globalmente:

    C:\>npm install -g nodemon
    
  2. Obtener prefijo:

    C:\>npm config get prefix
    

    Obtendrá un resultado como el siguiente en su consola:

    C:\Users\Family\.node_modules_global
    

    Cópialo.

  3. Establecer ruta.
    Vaya a Configuración avanzada del sistema → Variable de entorno → Haga clic en Nuevo (en Variables de usuario) → Se mostrará un formulario emergente → Pase los siguientes valores:

    variable name = path,
    variable value = Copy output from your console
    
  4. Ahora ejecuta Nodemon:

    C:\>nodemon .
    

¡¡Esto funciona!! Esto es lo que estaba buscando. Gracias
yashjain12yj

esto funcionó para mí. De hecho, tengo Windows y necesito arreglar las variables de entorno. Gracias :)
Laveena

21

Primero, escriba npm install --save nodemon luego en package.json escriba lo siguiente

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

luego escribir

npm run server

¡Esto funcionó! Muchas gracias. Solo una consulta, nodemon nos impide reiniciar el archivo del servidor, pero aún tenemos que actualizar el navegador. ¿Puede el navegador actualizarse por sí solo, como lo hace en angular?
Rahul Sharma

8

Estaba enfrentando el mismo problema. Había instalado nodemon como una dependencia de desarrollo y cuando intenté iniciar el servidor me dio el mensaje de que

nodemon no se reconoce como comando interno o externo, programa operable o archivo por lotes

Luego lo instalé globalmente e intenté iniciar el servidor y ¡funcionó!

npm install -g nodemon

6

¿Es necesario instalarlo globalmente? ¿Necesitas poder correr nodemon server.js? Si no es así, siempre puede llamarlo desde el directorio de su proyecto local. Debería estar aquí:

node_modules/.bin/nodemon

Esto es útil para mí para ejecutar mi api nodejs desde el script de shell. ¡Muchas gracias!
Nam G VU

4

Dado que el prefijo de nodo no está en la variable PATH ENV, no se reconoce ninguno de los módulos instalados globalmente. Por favor intente esto. Abra el indicador de cmd npm config get prefix agregue la ruta resultante a la variable env PATH. Ahora debería poder ejecutar nodemon desde cualquier ubicación. pruebe este enlace y sígalo. Fixing npm permissions https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory


En su enlace están las instrucciones para Linux, ¿tiene algo para Windows?
Jose Rojas

4

Esta línea resolvió mi problema en CMD:

npm install --save-dev nodemon

3
La instalación global de nodemon no funcionó para mí, pero esta sí :)
codemirror

4

Esto puede llegar demasiado tarde, pero es mejor decir algo :)

Si no desea instalar nodemon globalmente, puede usarlo npx, instala el paquete en tiempo de ejecución y se comportará como un paquete global (tenga en cuenta que solo está disponible en este momento y no existe globalmente).

Así que todo lo que necesitas es npx nodemon server.js.

  • npxse puede utilizar de forma inmediata desde la npm@5.2.0versión en adelante.

3

Para usar nodemon debe instalarlo globalmente.

Para ventanas

npm i -g nodemon

Para Mac

sudo npm i -g nodemon

Si no desea instalarlo globalmente, puede instalarlo localmente en la carpeta de su proyecto ejecutando command npm i nodemon . Dará un error similar a esto si se ejecuta localmente:

nodemon: el término 'nodemon' no se reconoce como el nombre de un
cmdlet, función, archivo de script o programa operable. Revisar la ortografía
del nombre, o si se incluyó una ruta, verifique que la ruta sea
corrija y vuelva a intentarlo.

Para eliminar este error, abra el package.json archivo y agregue

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

y después de eso solo ejecuta el comando

servidor de ejecución npm

y su nodemon comenzará a funcionar correctamente.


1
Incorrecto. Su secuencia de comandos debe decir {"server": "nodemon server.js"}
joedotnot

1

Simplemente tuve el mismo problema después de crear un nuevo perfil de usuario en mi máquina de desarrollo.

El problema era que no estaba ejecutando la consola (símbolo del sistema \ powershell ISE) como administrador.

Ejecutar como administrador resolvió este problema para mí.


1

Intenté instalar el nodemon a nivel mundial, pero eso no funcionó para mí. cada vez que intento ejecutarlo siempre me muestra el error:

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. He encontrado dos soluciones para esto.

solución 1:

Lo que he intentado es actualizar los "scripts" en el archivo package.json y allí he agregado

"server": "nodemon app.js"

por encima de la línea de código y después de eso

npm run server

Soluton 2:

  1. Presione la tecla de Windows.

  2. Escriba "Ruta" en el cuadro de búsqueda y seleccione "Editar las variables de entorno del sistema"

  3. Haga clic en "Variables de entorno" cerca de la parte inferior.

  4. En la sección "Variables del sistema", haga doble clic en la variable "Ruta".

  5. Haga clic en "Nuevo" en el lado derecho.

  6. Copie y pegue esto en el cuadro (reemplace [Nombre de usuario]):

C: \ Users [nombre de usuario] \ AppData \ Roaming \ npm

  1. reinicie su terminal y VSCode.

  2. Luego escriba nodemon app.jspara ejecutar el nodemon

apliqué la solución 2 ya que solo necesitamos ejecutar nodemon [nombre de archivo.js]


1

No es necesario instalar nodemon a nivel mundial. Simplemente ejecute este npx nodemon <scriptname.js> . Eso es.


0

Puede ejecutar su aplicación de nodo simplemente escribiendo nodemon It First run index.js Puede poner su punto de entrada en ese archivo fácilmente.

Si no ha instalado nodemon, primero debe instalarlo

npm install -g nodemon

Si tiene algún error de permiso, utilice

sudo npm install -g nodemon

Puede comprobar que nodemon existe o no mediante

nodemon -v

0

Ejecute este comando:

npm install nodemon -g

Ahora instalará nodemon pero el problema con mi caso es que está instalando nodemon en otro lugar. Agregué la ruta de Nodejs desde (ProgramFiles (x86)) pero eso no funcionó, así que encontré otra solución.

  • Ejecutar el comando anterior
  • Se mostrará una ruta durante la instalación donde está instalado nodemon, luego [Por favor, vaya al enlace de abajo para ver la ruta] [1]

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

  • Copie la ruta hasta npm y configúrela en la variable de entorno
  • Ahora intente el siguiente comando, con suerte se ejecutará

      nodemon YourAppName.js

0

Todas las opciones anteriores fallaron, obtuve la solución permanente para esto. Agregue la siguiente línea en package.json en dependencias y run npm install. Esto agregará el paquete nodemon a node_modules y listo, disfrute de la codificación.

"nodemon": "^1.17.*"

3
Bienvenido a Stack Overflow. Al responder una pregunta anterior con respuestas existentes, es útil explicar qué información nueva aporta su respuesta. Esta respuesta no parece mostrar una instalación global, hace referencia a una versión específica (por lo que no envejecerá bien) y no responde la pregunta que se hizo porque no muestra cómo habilitar el mando.
Jason Aller

0

Simplemente instale globalmente

 npm install -g  nodemon

Me funcionó en Windows 10.

nodemon app.js

0

La política de ejecución predeterminada del cmdlet Set-ExecutionPolicy es Restringida para Windows. Puede intentar instalar nodemon configurando esta política en Sin restricciones.

ejecute el comando: Set-ExecutionPolicy Unrestricted y luego intente instalar nodemon y ejecute el comando:nodemon -v


0

He arreglado de esta manera

  1. desinstalar nodemon local existente

    npm desinstalar nodemon

  2. instálelo de nuevo a nivel mundial.

    npm i -g nodemon


-2

Elimine nodemon porque es una dependencia de desarrollo y use node en lugar de él.

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

Esto funcionó para mí.


No responde la pregunta. node y nodemon tienen diferentes propósitos.
joedotnot

es algo diferente. Para nodemon debería ser "server": "nodemon app.js"
Shubham Kumar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.