Wie kann ich nodemon in WebStorm ausführen?


84

Ich möchte nodemon aus der WebStorm-IDE (Version 7) heraus verwenden. Nodemon überwacht eine oder mehrere Dateien in meinem Quellordner und startet den Knotenprozess (in diesem Fall einen Express-Server) neu, wenn sich eine der Quelldateien ändert.

Wie kann ich configure WebStorm verwendet nodemon in einer Run - Konfiguration , so dass der Knoten Prozess automatisch neu gestartet wird?

Ohne nodemon verwende ich die folgende Konfiguration in WebStorm, muss jedoch den Knotenprozess neu starten, wenn ich etwas in der Quelldatei ändere:

  • Knoteninterpreter: /usr/local/bin/node
  • Arbeitsverzeichnis: /Users/foo/test
  • JavaScript-Datei: server.js

Dies führt zu einer Ausführungskonfiguration, die node server.jsim angegebenen Verzeichnis ausgeführt wird.

Über die Befehlszeile kann ich den folgenden Befehl verwenden, um mit nodemon nach Dateiänderungen zu suchen : nodemon server.jsim Projektverzeichnis.

Wie muss ich die WebStorm-Konfiguration ändern, damit auch nodemon verwendet wird ?


Diese Frage scheint in die gleiche Richtung zu gehen: stackoverflow.com/questions/11175041/…
nwinkler

Siehe meine Antwort stackoverflow.com/a/52463378/7350853 verwendet die aktuellste Version des Webstorm.
Iwaduarte

Antworten:


141

Es sieht so aus, als ob die Problemumgehung mit --execnicht mehr erforderlich ist, zumindest wenn die neueste Version von nodemon und Webstorm 7 oder 8 verwendet wird.

Alles, was Sie tun müssen, ist, Ihren Pfad zu nodemon anzugeben, indem Sie seinen Pfad erhalten, indem Sie ihn which nodemonin Ihrer Konsole (z. B. /usr/local/bin/nodemon) unter " Knotenparameter" ausführen :

Webstorm mit Nodemon

@Bela Clark, danke für die Bestätigung.


Probieren Sie es einfach aus - es funktioniert jetzt einwandfrei. Vielen Dank für die aktualisierte Antwort!
Nwinkler

8
@bernhardw, Webstorm stoppt nicht an Haltepunkten, wenn der Debugger mit diesen Konfigurationen gestartet wird. Irgendeine Idee warum?
Nik Sumeiko

4
Befolgen Sie die folgenden Anweisungen, um Nodemon und Haltepunkte zum Laufen zu bringen: vcfvct.wordpress.com/2015/02/13/… Beachten Sie, dass ich --debug-brk anstelle von --debug
n00b

1
Damit das Debuggen funktioniert, musste ich Live Intellit Plugging für IntelliJ anstelle von nodemon verwenden.
Engin

1
Gute Antwort ! Vielen Dank
Julien

33

Dies ist die Windows-Lösung

Sie können einfach die Datei nodemon.cmd anstelle des Knotens direkt wie folgt verwenden:

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

und dann :

Geben Sie hier die Bildbeschreibung ein

Hoffe es wird dir helfen.


Ich dachte, das wäre die direkteste Antwort.
Paul Wade

6
Hallo, habe dies versucht und wenn ich eine Datei ändere, werde ich (in der Web Storm-Konsole) gefragt: "Batch-Job beenden (J / N)?". Ich sehe auch, dass der Befehl ausgeführt wird: "C: \ Programme (x86) \ JetBrains \ WebStorm 8.0.4 \ bin \ runningw.exe" C: \ Benutzer \ xyz \ AppData \ Roaming \ npm \ nodemon.cmd - -debug-brk = 27344 --nolazy -q app.js. Vermisse ich etwas
Tomer Cagan

1
Für das Problem "Stapeljob beenden" fügen Sie einfach "<nul" (ohne Anführungszeichen) zur Eingabe "Anwendungsparameter" hinzu. (Antwort hier gefunden: superuser.com/a/498798 )
Tobias Weichart

Warum ist das positiv bewertet? Es funktioniert nicht. Wenn nodemon neu gestartet wird, wird beim ersten Start nicht "<nul" hinzugefügt, sodass weiterhin "Stapeljob beenden (J / N)?"
KVM

18

Verwenden Sie zum Installieren von nodemon Folgendes (falls erforderlich, verwenden Sie sudo , um die Installation mit Root-Rechten auszuführen:

npm install -g nodemon

Dadurch wird nodemon global auf Ihrem Computer installiert .

Fügen Sie dann in Ihrer WebStorm- Ausführungskonfiguration Folgendes hinzu und lassen Sie alles andere unverändert:

  • Knotenparameter: /usr/local/bin/nodemon --exec /usr/local/bin/node

Dadurch wird der Knoteninterpreter angewiesen, das nodemonSkript über die folgende Befehlszeile auszuführen : node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

Der --execTeil ist wichtig, da die Ausführung mit folgendem Fehler fehlschlägt:

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

Der Fehler scheint darauf zurückzuführen zu sein, dass WebStorm die nodeausführbare Datei nicht auf ihrem Pfad sieht .

Die Lösung hierfür besteht darin, den Speicherort der nodeausführbaren Datei mithilfe des --exec /usr/local/bin/nodeParameters anzugeben .

Mit diesen Einstellungen nodemon funktioniert gut , wenn von einem WebStorm laufen Run Configuration .

Der gleiche Trick muss möglicherweise mit einigen Tools verwendet werden, die nodemon ähnlich sind , z . B. Node-Supervisor .


1
Dies funktioniert für Run Configuration, jedoch nicht für Debug. Irgendeine Idee, auch mit nodemon im Webstorm zu debuggen?
Yves Amsellem

3
Zumindest mit Webstorm 8 EAP und Nodemon 1.0.15 müssen Sie nichts mehr angeben --exec. Ich musste nur /usr/local/bin/nodemon"Knotenparameter" verwenden.
Bernhardw

@bernhardw: Ich kann das gleiche bestätigen
Bala Clark

18

Ich bin unter Windows und habe für mich nicht mit nodemon gearbeitet (keine Ahnung warum), aber jemand von Jetbrains schlug vor, es mit dem Supervisor zu versuchen:

  1. Ich habe Supervisor installiert: npm install supervisor -g

  2. Dann finde wo supervisorinstalliert ist, für mich war in: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Ich ging zurück zu Intellij: Konfigurationen bearbeiten -> Knotenparameter -> und fügte hinzu: C: \ Benutzer \ AlinC \ AppData \ Roaming \ npm \ Knotenmodule \ Supervisor \ lib \ cli-wrapper.js –no-restart-on error

Konfigurationen bearbeiten

Knotenparameter


1
Um am Haltepunkt anzuhalten, sollten Sie Folgendes hinzufügen: --debug-brkund die vollständige Zeichenfolge lautet C:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brkCheck from jetbrains jetbrains.com/phpstorm/webhelp/… address
uzay95

1
Nodemon konnte unter Webstorm 9 unter Windows 8 nicht zum Laufen gebracht werden. Dies funktionierte wie ein Zauber
Simon Trewhella,

1
Funktioniert für mich (Webstorm 11 unter Windows), aber die Haltepunkte funktionieren nicht. Ich habe versucht hinzuzufügen, --debug-brkaber kein Glück.
Elektrotyp


14

Für diejenigen, die an der Lösung in Windows 10 interessiert sind, ist hier meine Konfiguration. Es zeigt nicht "Batch beenden" und funktioniert einwandfrei.

Geben Sie hier die Bildbeschreibung ein

Sie drücken EINMAL auf Debug und können dann die Änderungsdateien speichern, und der Server wird im Debug-Modus neu gestartet. Alle Bremspunkte funktionieren einwandfrei


Dies ist eine funktionierende Antwort für das Debuggen. Ich stelle nur Knotenparameter ein. Knotenparameter als Text (Benutzername ändern): c: \ Benutzer \ Benutzername \ AppData \ Roaming \ npm \ Knotenmodule \ nodemon \ bin \ nodemon.js --debug = 3001
Alexey Obukhov

Das hat bei mir nicht funktioniert. Das Hinzufügen des Parameters --debug = 3001 stürzte nodemon
JCF am

Danke. Der Basislauf funktioniert und auch das Debuggen ohne Probleme! Dies sollte TOP Antwort sein!
Georgi Peev

8

Für Windows-Benutzer festlegen:

Knoteninterpreter: Pfad der node.exe, dh c: \ Programme \ node \ node.exe

Knotenparameter: C: \ Benutzer \ IHR BENUTZER \ AppData \ Roaming \ npm \ Knotenmodule \ nodemon \ bin \ nodemon.js


Das hat bei mir funktioniert! Debugging- und Breakpoints funktionieren einwandfrei. Knotenversion 10.15.1 Knotenversion 1.18.10 Webstorm 2018.3.5
JCF

5

Sie können es auch mit nvm zum Laufen bringen und das Debuggen funktioniert immer noch.

Getestet mit Node.js 8.1.0 und Webstorm 2017.2

Stellen Sie zunächst sicher, dass Sie die richtige Version haben (in meinem Fall v8.1.0) und installieren Sie nodemon global -

nvm use v8.1.0
npm install -g nodemon

Öffnen Sie dann Run / Debug-Konfigurationen und erstellen Sie eine neue mit dem richtigen Knoteninterpreter.

Knotenparameter sollten sein:

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

Speichern und debuggen Sie respponsibally :)

Node.js Nodemon Webstorm Debug


4

Hier ist die Konfiguration, die für mich unter Windows 7 + WebStorm 8.0.4 funktioniert. Wenn ich nodemon.cmd als Knoteninterpreter einfügte, wurde immer wieder "Stapeljob beenden (J / N)?"

Nodemon + Webstorm unter Windows


siehe meine Antwort bezüglich dieser Frage unter Windows, ich denke, Sie haben auf die falsche nodemon.cmd-Datei gezeigt
Alexander Mills

2

Wenn Sie nodemon wie eine globale Bibliothek installiert haben, legen Sie einfach die Knotenparameter fest:

C: \ Benutzer \ $ {yourUser} \ AppData \ Roaming \ npm \ Knotenmodule \ nodemon \ bin \ nodemon.js

nodemon im Websturm


2

Dies ist das einzige, was für mich funktioniert hat:

  1. Fügen Sie einen neuen Befehl "package.json node run script" hinzu:

Geben Sie hier die Bildbeschreibung ein

  1. Erstellen Sie eine NPM-KONFIG (keine Knotenkonfiguration)
  2. Wählen Sie als Befehl "Start-Watch"

Geben Sie hier die Bildbeschreibung ein

Für mich funktionierte dies für Debugging / Haltepunkte ohne Probleme oder zusätzliche Kopfschmerzen.


1

Einige dieser Antworten scheinen nur für Mac zu funktionieren. Für Windows scheint diese Konfiguration zu funktionieren (mein Benutzername unter Windows 7 ist denman).

Geben Sie hier die Bildbeschreibung ein

main.js ist die Startpunktdatei für meine Express-Anwendung.


0
  1. Führen Sie eine npm-Installation von nodmemon -g durch
  2. Ändern Sie nur den Pfad zum Knoten in nodemon.cmd. In meinem Fall (C: \ Benutzer \ Rohit Taneja \ AppData \ Roaming \ npm \ nodemon.cmd) erhalten Sie diesen Pfad auch nach Abschluss der Installation von nodemon.

  3. Du bist gut zu gehen


0

Per @bernhardw Kommentar, da dies die Antwort für mich war -

Alles, was benötigt wird, befindet sich /usr/local/bin/nodemonunter node parameters Works for Run and Debug, da es bei Änderungen neu gestartet wird, aber das Debuggen mit Haltepunkt funktioniert nicht.

Bonus: -e für mehr Erweiterung hinzufügen, z /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, Rubymin 7.1.4)

HTH


0

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

Geben Sie hier die Bildbeschreibung einGeben Sie hier die Bildbeschreibung ein


0

Skript in package.json: "start": "nodemon --inspect -r babel-register src",

Erstes Bild: Debug ausführen und es wird gestartet

Zweites Bild: Anhängen an einen vorhandenen laufenden Knoten die Einstellungen Geben Sie hier die Bildbeschreibung ein


0

Hier ist eine Korrektur für einen Fehler, den ich bekommen habe ...

Wenn Sie einen Windows + NodeJS + -Nodemon verwenden. Mit einer IntelliJ - Konfiguration ausführen.

ERROR: starting inspector on failed: address already in use

Wenn ich nodemon Version 1.19.1 verwende, wird der Fehler angezeigt. Wenn ich nodemon Version 1.18.11 verwende, funktioniert es!

Viel Glück...


0

package.jsonFügen Sie dem neuen Knoten einfach ein neues Skript hinzu (oder wählen Sie Ihren eigenen Namen).

"scripts": {
  ...
  "nodemon": "nodemon ./bin/www"
}

Gehen Sie dann zu Run / Debug Configuration und fügen Sie die npm- Konfiguration hinzu. einstellen

  • Befehl zum " Ausführen "
  • Skript zu " nodemon " (Name, den Sie in package.json gewählt haben)

Beispiel


0

Ich habe eine Entwicklung in Mac und wie OdkoPP anzeigt, habe ich es zum Laufen gebracht

"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},

Ausführen / Debuggen von Konfigurationen npm: Ausführen / Debuggen von Konfigurationen npm

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.