我如何运行没有恶魔从网络风暴?

我想从 WebStorm IDE (版本7)中使用 不是恶魔。当其中一个源文件发生更改时,Noemon 将监视源文件夹中的一个或多个文件并重新启动节点进程(本例中为 Express 服务器)。

如何配置 WebStorm 在 运行配置中使用 不是恶魔,以便节点进程自动重新启动?

在没有 不是恶魔的情况下,我在 WebStorm 中使用以下配置,但是每当我修改源文件中的某些内容时,都必须重新启动节点进程:

  • 节点解释程序: /usr/local/bin/node
  • 工作目录: /Users/foo/test
  • JavaScript 文件: server.js

这将导致在指定目录中运行 node server.js的 Run Configuration。

在命令行中,我可以使用以下命令来使用 不是恶魔监视文件更改: 项目目录中的 nodemon server.js

我需要如何改变 WebStorm 的配置,以便它也使用 不是恶魔

41079 次浏览

To install nodemon, use the following (if required, use sudo to run the installation with root privileges:

npm install -g nodemon

This will install nodemon globally on your machine.

Then, in your WebStorm Run Configuration, add the following, leaving everything else unchanged:

  • Node parameters: /usr/local/bin/nodemon --exec /usr/local/bin/node

This will instruct the node interpreter to execute the nodemon script using the following command line: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

The --exec part is important, as the execution will fail with the following 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)

The error seems to be caused by WebStorm not seeing the node executable on its path.

The fix for this is to specify the location to the node executable using the --exec /usr/local/bin/node parameter.

Using these settings, nodemon works fine when run from a WebStorm Run Configuration.

The same trick might have to be used with some of the tools similar to nodemon, e.g. node-supervisor.

I'm on Windows and for me didn't worked with nodemon (no idea why), but someone from Jetbrains suggested to try with supervisor:

  1. I installed supervisor: npm install supervisor -g

  2. Then find where is supervisor installed, for me was in: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. I went back to Intellij: edit configurations -> node parameters -> and added: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

edit configurations

node parameters

This is the Windows solution

You can just use the nodemon.cmd instead of node directly like :

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

and then :

enter image description here

Hope it will help you.

It looks like the workaround with --exec isn't necessary anymore, at least when using the newest version of nodemon and Webstorm 7 or 8.

All you have to do is specify your path to nodemon by obtaining its path with running which nodemon in your console (e.g. /usr/local/bin/nodemon) under "Node parameters":

Webstorm with nodemon

@Bela Clark, thanks for confirming.

  1. Do a npm install nodmemon -g
  2. Only change the Path to Node to the nodemon.cmd, in my case (C:\Users\Rohit Taneja\AppData\Roaming\npm\nodemon.cmd), you'll also get this path after your installion of nodemon finishes.

  3. You're good to go

Here's the configuration that works for me on Windows 7 + WebStorm 8.0.4. If I put nodemon.cmd as the node interpreter I kept getting "Terminate batch job (Y/N)?".

Nodemon + Webstorm on Windows

some of these answers appear to only work for Mac. For Windows, this configuration seems to work (my user name on Windows 7 is denman).

enter image description here

main.js is the starting point file for my Express application.

Per @bernhardw comment, as this was the answer for me -

All is needed is /usr/local/bin/nodemon under node parameters Works for run and debug as it restarts upon changes, but debugging with breakpoint does not work.

Bonus: add -e for more extension e.g /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubymine 7.1.4)

HTH

For windows users set:

Node Interpreter: Path of the node.exe i.e. c:\program files\node\node.exe

Node parameter: C:\Users\YOURUSER\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

For those interested for the solution in Windows 10, here is my configuration. It does not show "Terminate Batch" thing and works perfectly.

enter image description here

You press debug ONCE and than you can save change files whatever and the server will restart in debug mode. All brakepoints are working perfectly

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

enter image description hereenter image description here

You can also make it work with nvm and debugging still works.

Tested with Node.js 8.1.0 and Webstorm 2017.2

First make sure you are on the right version (in my case v8.1.0) and install nodemon globally -

nvm use v8.1.0
npm install -g nodemon

Then, open Run/Debug configurations and create a new one with the correct node interpreter.

Node parameters should be:

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

Save and debug respponsibally :)

Node.js nodemon webstorm debug

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

First pic: Run debug and it will start

Second pic: attaching to existing running node Settings enter image description here

Here is a fix for an error I was getting...

If you are using a Windows + NodeJS + nodemon. With an IntelliJ - Run Configuration.

ERROR: starting inspector on failed: address already in use

When I use nodemon version 1.19.1, I get the error. When I use nodemon version 1.18.11, it works!

Good luck...

In case you've installed nodemon like a global library, just set in node parameters:

C:\Users\${yourUser}\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

nodemon in webstorm

Just add new script to package.json called nodemon (or choose your own name)

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

Then go to Run/Debug Configuration and add npm configuration. Set

  • Command to "run"
  • Script to "nodemon" (name you chose in package.json)

example

I have a development in mac and as OdkoPP indicates I made it work

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

Run/Debug Configurations npm: Run/Debug Configurations npm

This is the only thing that worked for me:

  1. Add a new package.json node run script command:

enter image description here

  1. Create an NPM CONFIG (not a node config)
  2. Select "start-watch" as the command

enter image description here

For me this worked for debugging / breakpoints without issues or additional headache.

This is how I am running

  1. Installed nodemon package

    npm install -g nodemon # OR using yarn: yarn global add nodemon

  2. From Webstorm terminal, run

    nodemon index.js

This is how it will show running in terminal

enter image description here