web-dev-qa-db-fra.com

Comment puis-je exécuter nodemon à partir de WebStorm?

Je voudrais utiliser nodemon depuis WebStorm IDE (version 7). Nodemon surveille un ou plusieurs fichiers de mon dossier source et redémarre le processus de nœud (un serveur Express dans ce cas), lorsqu'un des fichiers source change.

Comment configurer WebStorm pour utiliser nodemon dans une configuration Run, afin que le processus de noeud soit redémarré automatiquement?

Sans nodemon, j'utilise la configuration suivante dans WebStorm, mais je dois redémarrer le processus de noeud chaque fois que je modifie quelque chose dans le fichier source:

  • Interprète de noeud: /usr/local/bin/node
  • Répertoire de travail: /Users/foo/test
  • Fichier JavaScript: server.js

Cela se traduit par une configuration d'exécution qui exécute node server.js dans le répertoire spécifié.

À partir de la ligne de commande, je peux utiliser la commande suivante pour utiliser nodemon afin de surveiller les modifications de fichier: nodemon server.js dans le répertoire du projet.

Comment dois-je modifier la configuration WebStorm pour qu'elle utilise également nodemon?

74
nwinkler

Il semble que la solution de contournement avec --exec ne soit plus nécessaire, du moins lorsque vous utilisez la dernière version de nodemon et Webstorm 7 ou 8.

Tout ce que vous avez à faire est de spécifier votre chemin d'accès à nodemon (par exemple /usr/local/bin/nodemon) sous "Paramètres de noeud":

Webstorm with nodemon

@Bela Clark, merci d'avoir confirmé.

118
bernhardw

Ceci est la solution Windows

Vous pouvez simplement utiliser le fichier nodemon.cmd à la place du noeud directement, par exemple: 

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*/

et alors : 

enter image description here

J'espère que cela vous aidera.

33
RPDeshaies

Je suis sous Windows et pour moi je n'ai pas travaillé avec nodemon (je ne sais pas pourquoi), mais quelqu'un de Jetbrains a suggéré d'essayer avec superviseur:

  1. J'ai installé superviseur: npm install supervisor -g

  2. Ensuite, trouvez où est installé supervisor, car j'étais dans: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Je suis retourné dans Intellij: modifier les configurations -> paramètres du noeud -> et ajouter: C:\Utilisateurs\AlinC\AppData\Roaming\npm\noeud_modules\supervisor\lib\cli-wrapper.js Erreur

edit configurations

node parameters

19
Alin Ciocan

Pour installer nodemon, utilisez ce qui suit (si nécessaire, utilisez Sudo pour exécuter l'installation avec les privilèges root:

npm install -g nodemon

Cela installera nodemon globalement sur votre ordinateur.

Ensuite, dans votre WebStorm Run Configuration, ajoutez ce qui suit, en laissant tout le reste inchangé:

  • Paramètres de nœud: /usr/local/bin/nodemon --exec /usr/local/bin/node

Cela demandera à l'interpréteur de noeud d'exécuter le script nodemon à l'aide de la ligne de commande suivante: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

La partie --exec est importante, car l'exécution échouera avec l'erreur suivante:

/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)

L'erreur semble être due au fait que WebStorm n'a pas vu l'exécutable node sur son chemin.

Le correctif consiste à spécifier l'emplacement de l'exécutable node à l'aide du paramètre --exec /usr/local/bin/node.

Avec ces paramètres, nodemon fonctionne correctement lorsqu'il est exécuté à partir d'un WebStorm Run Configuration.

La même astuce devra peut-être être utilisée avec certains outils similaires à nodemon, par exemple. superviseur de noeud .

15
nwinkler

Pour ceux que la solution de Windows 10 intéresse, voici ma configuration. Il ne montre pas "Terminate Batch" chose et fonctionne parfaitement.

 enter image description here

Vous appuyez une fois sur debug et vous pouvez enregistrer les fichiers de modification, et le serveur redémarre en mode débogage. Tous les points de freinage fonctionnent parfaitement

12
Denko Mancheski

Pour les utilisateurs Windows:

Interprète de noeud: chemin du noeud.exe, c.-à-d. Fichiers de programme\noeud\noeud.exe

Paramètre de noeud: C:\Users\YOURUSER\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

6
user3218817

Voici la configuration qui fonctionne pour moi sous Windows 7 + WebStorm 8.0.4. Si je mets nodemon.cmd comme interprète de noeud, je continue à obtenir le message "Terminer le travail par lots (Y/N)?" 

Nodemon + Webstorm on Windows

3
Robert Jakubowicz

Vous pouvez également le faire fonctionner avec nvm et le débogage fonctionne toujours.

Testé avec Node.js 8.1.0 et Webstorm 2017.2

Tout d’abord, assurez-vous d’avoir la bonne version (dans mon cas, la version 8.1.0) et installez nodemon globalement -

nvm use v8.1.0
npm install -g nodemon

Ensuite, ouvrez les configurations Run/Debug et créez-en une nouvelle avec le bon interpréteur de noeud. 

Les paramètres de nœud doivent être: 

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

Enregistrer et déboguer de manière responsable :)

 Node.js nodemon webstorm debug

2
Artipixel

certaines de ces réponses semblent ne fonctionner que sur Mac. Pour Windows, cette configuration semble fonctionner (mon nom d'utilisateur sous Windows 7 est denman).

enter image description here

main.js est le fichier de départ de mon application Express.

1
Alexander Mills

Si vous avez installé nodemon comme une bibliothèque globale, définissez simplement les paramètres de nœud:

C:\Utilisateurs\$ {votre utilisateur}\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

nodemon in webstorm

0
peterzinho16
  1. Faire un npm installer nodmemon -g 
  2. Modifiez uniquement le chemin d'accès au nœud en nodemon.cmd, dans mon cas (C:\Utilisateurs\Rohit Taneja\AppData\Roaming\npm\nodemon.cmd), vous obtiendrez également ce chemin à la fin de l'installation de nodemon.

  3. Vous êtes bon pour aller

0
Rohit Taneja

Voici une solution à une erreur que je recevais ...

Si vous utilisez un Windows + NodeJS + nodemon. Avec un IntelliJ - Exécuter la configuration.

ERROR: starting inspector on failed: address already in use

Lorsque j'utilise nodemon version 1.19.1, j'obtiens l'erreur. Quand j'utilise nodemon version 1.18.11, ça marche!

Bonne chance...

0
Sagan

Script dans package.json: "start": "nodemon --inspect -r babel-register src",

Première image: lancez le débogage et il va commencer

Deuxième image: attacher au nœud actif existant  Settings  enter image description here

0
Viktor Bogutskii

Pour @bernhardw commenter, comme c'était la réponse pour moi - 

Tout ce qui est nécessaire est /usr/local/bin/nodemon sous node parametersWorks pour l'exécution et le débogage car il redémarre à la suite de modifications, mais le débogage avec point d'arrêt ne fonctionne pas.

Bonus: ajoutez -e pour plus d'extension, par exemple /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubymine 7.1.4)

HTH

0
Hertzel Guinness

npm installer -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

 enter image description here  enter image description here

0
Mohammad nabil