如何在WebStorm中运行nodemon?


84

我想用 在WebStorm IDE(版本7)中nodemon。当源文件之一发生更改时,Nodemon监视我的源文件夹中的一个或多个文件,并重新启动节点进程(在这种情况下为Express服务器)。

如何在运行配置中配置WebStorm以使用nodemon,以便自动重启节点进程?

没有nodemon时,我在WebStorm中使用以下配置,但是每当我更改源文件中的内容时,都必须重新启动节点进程:

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

这将导致运行配置node server.js在指定目录中运行。

从命令行,我可以使用以下命令来使用nodemon监视文件更改:nodemon server.js在项目目录中。

如何更改WebStorm配置,使其也使用nodemon


这个问题似乎是沿着相同的路线:stackoverflow.com/questions/11175041/...
nwinkler

请参阅我的答案stackoverflow.com/a/52463378/7350853使用的是Webstorm的最新版本。
iwaduarte

Answers:


143

似乎--exec不再需要使用解决方法,至少在使用最新版本的nodemon时和Webstorm 7或8时。

您所要做的就是通过在控制台中“节点参数”下运行获取其路径来指定nodemon的路径:which nodemon/usr/local/bin/nodemon

与nodemon进行Webstorm

@贝拉·克拉克,感谢您的确认。


尝试一下-现在可以正常使用了。感谢您提供更新的答案!
nwinkler 2014年

8
@bernhardw,使用这些配置启动调试器时,webstorm不会在断点处停止。知道为什么吗?
Nik Sumeiko

4
遵循以下说明设法获得nodemon和断点的工作:vcfvct.wordpress.com/2015/02/13/…请注意,我使用--debug-brk而不是--debug
n00b

1
为了使调试工作有效,我不得不对IntelliJ使用Live Edit插件而不是nodemon。
engin

1
好答案 !谢谢
Julien

33

这是Windows解决方案

您可以直接使用nodemon.cmd代替node,例如:

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

然后 :

在此处输入图片说明

希望对您有帮助。


我认为这是最直接的答案。
保罗·韦德

6
嗨,试过这个,当我更改文件时,它问我(在Web Storm控制台中)“终止批处理作业(是/否)?”。我还看到正在执行的命令是:“ C:\ Program Files(x86)\ JetBrains \ WebStorm 8.0.4 \ bin \ runnerw.exe” C:\ Users \ xyz \ AppData \ Roaming \ npm \ nodemon.cmd- -debug-brk = 27344 --nolazy -qapp.js。我有什么想念的吗?
Tomer Cagan 2014年

1
对于“终止批处理作业”问题,只需将“ <nul”(省略引号)添加到“应用程序参数”输入中。(在此处找到答案:superuser.com/a/498798
Tobias Weichart

为什么对此表示反对?它不起作用,当nodemon重新启动时,它从一开始就没有添加“ <nul”,所以您仍然会得到“终止批处理作业(Y / N)”吗?
KVM

18

要安装nodemon,请使用以下命令(如果需要,请使用sudo以root特权运行安装:

npm install -g nodemon

这将在您的计算机上全局安装nodemon

然后,在“ WebStorm运行配置”中,添加以下内容,其他所有内容均保持不变:

  • 节点参数: /usr/local/bin/nodemon --exec /usr/local/bin/node

这将指示节点解释器nodemon使用以下命令行执行脚本:node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js

--exec部分很重要,因为执行将失败,并显示以下错误:

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

该错误似乎是由于WebStormnode在其路径上看不到可执行文件引起的。

解决此问题的方法是node使用--exec /usr/local/bin/node参数指定可执行文件的位置。

使用这些设置,当从WebStorm运行配置中运行时,nodemon可以正常运行

对于某些类似于nodemon的工具,例如node-supervisor,可能必须使用相同的技巧。


1
这适用于“运行配置”,但不适用于“调试”。有什么想法可以在webstorm中使用nodemon进行调试吗?
Yves Amsellem 2014年

3
至少对于Webstorm 8 EAP和nodemon 1.0.15,您不必再指定--exec了。我要做的就是/usr/local/bin/nodemon在“节点参数”中使用。
bernhardw 2014年

@bernhardw:我可以确认相同
Bala Clark

18

我在Windows上,对我而言,我并没有使用nodemon(不知道为什么),但是Jetbrains的某人建议尝试使用主管:

  1. 我安装了主管: npm install supervisor -g

  2. 然后找到supervisor安装位置,对我来说是在: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. 我回到Intellij:编辑配置->节点参数->并添加:C:\ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –无重新启动错误

编辑配置

节点参数


1
要在断点处停止,您应该添加以下代码:--debug-brk完整的字符串是C:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brkjetbrains的检查jetbrains.com/phpstorm/webhelp/…地址
uzay95 2014年

1
无法使Nodemon在带有Webstorm 9的Windows 8上工作,这就像一个魅力之

1
对我有效(在Windows上为Webstorm 11),但断点不起作用。我尝试添加,--debug-brk但没有运气。
2015年


14

对于那些对Windows 10中的解决方案感兴趣的人,这里是我的配置。它不显示“终止批处理”的内容,并且可以正常运行。

在此处输入图片说明

您按下一次调试,然后您可以保存更改文件,服务器将在调试模式下重新启动。所有刹车点都工作正常


这是调试的有效答案。我只设置节点参数。节点参数作为文本(更改用户名):c:\ users \ username \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js --debug = 3001
Alexey Obukhov

这对我不起作用。添加--debug = 3001参数导致nodemon崩溃
JCF

谢谢,基本运行正常,调试也没有问题!这应该是最佳答案!
乔治·佩夫

8

对于Windows用户,请设置:

节点解释器:node.exe的路径,即c:\ program files \ node \ node.exe

节点参数:C:\ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js


这对我有用!调试和断点工作完美。节点版本10.15.1 nodemon版本1.18.10 Webstorm 2018.3.5
JCF

5

您还可以使其与nvm一起使用,并且调试仍然可以进行。

使用Node.js 8.1.0和Webstorm 2017.2测试

首先,请确保您使用的版本正确(以我的情况为v8.1.0),然后在全局范围内安装nodemon-

nvm use v8.1.0
npm install -g nodemon

然后,打开“运行/调试”配置,并使用正确的节点解释器创建一个新的配置。

节点参数应为:

苹果电脑

/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

保存并调试respponsibally :)

Node.js Nodemon Webstorm调试


4

这是在Windows 7 + WebStorm 8.0.4上适用于我的配置。如果我将nodemon.cmd用作节点解释器,我将不断收到“终止批处理作业(Y / N)?”。

Windows上的Nodemon + Webstorm


在Windows上看到关于这个问题的答案,我认为您指向的是错误的nodemon.cmd文件
Alexander Mills

3

如果您像全局库一样安装了nodemon,只需在节点参数中进行设置:

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

网络风暴中的nodemon


通过nvm和npm 14.7.0就像魅力一样工作
Eugene Zalivadnyi

2

这是唯一对我有用的东西:

  1. 添加一个新的package.json节点运行脚本命令:

在此处输入图片说明

  1. 创建一个NPM CONFIG(不是节点配置)
  2. 选择“开始监视”作为命令

在此处输入图片说明

对我来说,它可以用于调试/断点,而不会出现问题或其他麻烦。


1

其中一些答案似乎仅适用于Mac。对于Windows,此配置似乎有效(我在Windows 7上的用户名是denman)。

在此处输入图片说明

main.js是我的Express应用程序的起点文件。


0
  1. 执行npm安装nodmemon -g
  2. 在我的情况下,仅将“节点的路径”更改为nodemon.cmd(C:\ Users \ Rohit Taneja \ AppData \ Roaming \ npm \ nodemon.cmd),在完成nodemon安装后,您还将获得此路径。

  3. 你很好去


0

根据@bernhardw的评论,因为这是我的答案-

/usr/local/bin/nodemonnode parameters Works下,运行和调试都需要所有这些,因为它们会在更改后重新启动,但是使用断点进行调试不起作用。

奖励:添加-e可进行更多扩展,例如 /usr/local/bin/nodemon -e js,html,jade

(OSX 10.10.5,红宝石7.1.4)

高温超导


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

在此处输入图片说明在此处输入图片说明



0

这是我遇到的错误的解决方法...

如果您使用的是Windows + NodeJS + nodemon。使用IntelliJ-运行配置。

ERROR: starting inspector on failed: address already in use

当我使用nodemon版本1.19.1时,出现错误。当我使用nodemon 1.18.11版时,它可以工作!

祝好运...


0

只需将新脚本添加到package.json名为nodemon的脚本中(或选择您自己的名称)

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

然后转到“运行/调试配置”并添加npm配置。组

  • 命令运行
  • nodemon ”(在package.json中选择的名称)的脚本

例


0

我在Mac上进行了开发,并且正如OdkoPP指出的那样,它可以正常工作

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

运行/调试配置npm: 运行/调试配置npm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.