¿Cómo puedo ejecutar nodemon desde WebStorm?


Me gustaría usar nodemon desde el IDE de WebStorm (versión 7). Nodemon vigila uno o más archivos en mi carpeta de origen y reinicia el proceso de nodo (un servidor Express en este caso), cuando uno de los archivos de origen cambia.

¿Cómo configuro WebStorm para usar nodemon en una Run Configuration, para que el proceso de nodo se reinicie automáticamente?

Sin nodemon , utilizo la siguiente configuración en WebStorm, pero tengo que reinicie el proceso de nodo cada vez que cambie algo en el archivo de origen:

  • Intérprete de nodos: /usr/local/bin/node
  • Directorio de trabajo: /Users/foo/test
  • Archivo JavaScript: server.js

Esto da como resultado una configuración Run que ejecuta node server.js en el directorio especificado.

Desde la línea de comandos, puedo usar el siguiente comando para usar nodemon para observar los cambios de archivo: nodemon server.js en el directorio del proyecto.

Cómo necesito cambiar la configuración de WebStorm ¿para que también use nodemon?

Author: nwinkler, 2013-10-04

13 answers

Parece que la solución con --exec ya no es necesaria, al menos cuando se usa la versión más reciente de nodemon y Webstorm 7 u 8.

Todo lo que tiene que hacer es especificar su ruta a nodemon (por ejemplo, /usr/local/bin/nodemon) bajo "Parámetros de nodo":

Webstorm con nodemon

@Bela Clark, gracias por confirmar.

 110
Author: bernhardw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-31 14:39:08

Esta es la solución de Windows

Puede usar el nodemon.cmd en lugar de nodo directamente como:

Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/

Y luego:

introduzca la descripción de la imagen aquí

Espero que te ayude.

 31
Author: RPDeshaies,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-22 19:10:47

Estoy en Windows y para mí no funcionó con nodemon (ni idea de por qué), pero alguien de Jetbrains sugirió probar con supervisor:

  1. He instalado supervisor: npm install supervisor -g

  2. A continuación, encontrar donde está supervisor instalado, para mí estaba en: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Volví a Intellij: editar configuraciones - > parámetros de nodo - > y añadí: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js-no-reinicio-encendido error

editar configuraciones

parámetros del nodo

 19
Author: Alin Ciocan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-30 12:14:06

Para instalar nodemon , use lo siguiente (si es necesario, use sudo para ejecutar la instalación con privilegios de root:

npm install -g nodemon

Esto instalará nodemon globalmente en su máquina.

Luego, en su WebStorm Ejecutar Configuración, agregue lo siguiente, dejando todo lo demás sin cambios:

  • Parámetros del nodo: /usr/local/bin/nodemon --exec /usr/local/bin/node

Esto le indicará al intérprete de nodos que ejecute el script nodemon usando el siguiente comando línea: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

La parte --exec es importante, ya que la ejecución fallará con el siguiente error:

/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

El error parece ser causado por WebStorm no viendo el ejecutable node en su ruta.

La solución para esto es especificar la ubicación del ejecutable node usando el parámetro --exec /usr/local/bin/node.

Usando estas configuraciones, nodemonfunciona bien cuando se ejecuta desde una tormenta web Ejecutar configuración.

El mismo truco podría tener que ser utilizado con algunos de las herramientas similares a nodemon, por ejemplo, node-supervisor.

 15
Author: nwinkler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-04 12:01:36

Para aquellos interesados en la solución en Windows 10, aquí está mi configuración. No muestra "Terminar lote" cosa y funciona perfectamente.

introduzca la descripción de la imagen aquí

Pulse debug UNA VEZ y luego puede guardar los archivos de cambio lo que sea y el servidor se reiniciará en modo debug. Todos los puntos de freno funcionan perfectamente

 12
Author: Denko Mancheski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-04 22:28:24

Para los usuarios de Windows establecer:

Intérprete de nodos: Ruta del nodo.exe i. e. c:\program files \ node \ node.exe

Parámetro del nodo: C:\Users\YOURUSER\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

 6
Author: user3218817,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-28 22:47:21

Aquí está la configuración que funciona para mí en Windows 7 + WebStorm 8.0.4. Si pongo nodemon.cmd como el intérprete de nodos que seguía recibiendo " Terminar trabajo por lotes (Y/N)?".

Nodemon + Webstorm en Windows

 3
Author: Robert Jakubowicz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-13 17:28:25

Algunas de estas respuestas parecen funcionar solo para Mac. Para Windows, esta configuración parece funcionar (mi nombre de usuario en Windows 7 es denman).

introduzca la descripción de la imagen aquí

Main.js es el archivo de punto de partida para mi aplicación Express.

 1
Author: Alexander Mills,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-20 01:13:12

También puede hacer que funcione con nvm y la depuración aún funciona.

Probado con Nodo.js 8.1.0 y Webstorm 2017.2

Primero asegúrese de que está en la versión correcta (en mi caso v8.1.0) e instale nodemon globalmente -

nvm use v8.1.0
npm install -g nodemon

A continuación, abra las configuraciones Run/Debug y cree una nueva con el intérprete de nodo correcto.

Los parámetros del nodo deben ser:

MAC

/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

LINUX

/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

Guardar y depurar respponsibally :)

Nodo.depuración de js nodemon webstorm

 1
Author: Artipixel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-13 12:11:41
  1. Hacer una instalación npm nodmemon-g
  2. Solo cambie la ruta al nodo al nodemon.cmd, en mi caso (C:\Users\Rohit Taneja \ AppData \ Roaming\npm\nodemon.cmd), también obtendrá esta ruta después de que finalice la instalación de nodemon.

  3. Ya puedes irte

 0
Author: Rohit Taneja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-31 19:33:08

Por @bernhardw comentario, ya que esta fue la respuesta para mí -

Todo lo que se necesita es /usr/local/bin/nodemon bajo node parameters Funciona para ejecutar y depurar ya que se reinicia tras los cambios, pero depurar con punto de interrupción no funciona.

Bono: añadir-e para más extensión e. g /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubymine 7.1.4)

HTH

 0
Author: Hertzel Guinness,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-17 06:08:19

Npm install-g nodemon

1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js

2* Select Node.js and Press '+' 

3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

4* Click Apply and Ok

5* Run the Nodemon

introduzca la descripción de la imagen aquíintroduzca la descripción de la imagen aquí

 0
Author: Mohammad nabil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-11 12:47:26

Script en el paquete.json: "start":"nodemon inspect inspect-r babel-register src",

Primera foto: Ejecute debug y se iniciará

Segunda imagen: conexión al nodo en ejecución existente Configuración introduzca la descripción de la imagen aquí

 0
Author: Siteogra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-31 06:52:02