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:
/usr/local/bin/node
/Users/foo/test
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?
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":
@Bela Clark, merci d'avoir confirmé.
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 :
J'espère que cela vous aidera.
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:
J'ai installé superviseur: npm install supervisor -g
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
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
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é:
/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 .
Pour ceux que la solution de Windows 10 intéresse, voici ma configuration. Il ne montre pas "Terminate Batch" chose et fonctionne parfaitement.
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
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
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)?"
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 :)
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).
main.js est le fichier de départ de mon application Express.
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.
Vous êtes bon pour aller
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...
Pour @bernhardw commenter, comme c'était la réponse pour moi -
Tout ce qui est nécessaire est /usr/local/bin/nodemon
sous node parameters
Works 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
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