Javascript Nodemon崩溃并显示等待文件更改

Javascript Nodemon崩溃并显示等待文件更改,javascript,node.js,nodemon,Javascript,Node.js,Nodemon,我使用的是nodemon版本1.18.3和express版本4。 在直接运行nodemon命令时,出现以下错误: events.js:165 投掷者;//未处理的“错误”事件 ^ 错误:侦听EADDRINUSE::3000 在Server.setupListenHandle[as _listen2](net.js:1346:14) 在Listenicluster(net.js:1387:12) 在Server.listen(net.js:1475:7) 在Function.app.listen

我使用的是nodemon版本1.18.3和express版本4。 在直接运行nodemon命令时,出现以下错误:

events.js:165
投掷者;//未处理的“错误”事件
^
错误:侦听EADDRINUSE::3000
在Server.setupListenHandle[as _listen2](net.js:1346:14)
在Listenicluster(net.js:1387:12)
在Server.listen(net.js:1475:7)
在Function.app.listen(/home/rishabh/Documents/my_projects/get_MEAN/loc8r/node_modules/express/lib/application.js:531:24)
反对。(/home/rishabh/Documents/my_projects/get_MEAN/loc8r/bin/www:7:18)
at模块编译(内部/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:665:10)
在Module.load(内部/modules/cjs/loader.js:566:32)
在tryModuleLoad(内部/modules/cjs/loader.js:506:12)
at Function.Module._load(内部/modules/cjs/loader.js:498:3)
在以下位置发出“错误”事件:
在emitErrorNT(net.js:1366:8)
在进程中。_tick回调(内部/process/next_tick.js:178:19)
位于Function.Module.runMain(internal/modules/cjs/loader.js:697:11)
启动时(内部/bootstrap/node.js:201:19)
在bootstrapNodeJSCore(internal/bootstrap/node.js:516:3)

[nodemon]应用程序崩溃-在启动之前等待文件更改…
错误表明端口
3000
已在使用中

您需要使用另一个端口,您可以使用下面的命令

nodemon ./YOUR_SCRIPT_NAME.js localhost 3005

希望这有帮助

之所以发生这种情况,是因为nodemon无法像本文中提到的那样监视您的文件系统

基本上,nodemon使用一种名为
inotify
的观察程序来观察代码中的更改

您可以通过增加max watchers的数量来修复此问题,然后重新启动计算机以应用更改:

echo fs.inotify.max_user_watches=524298 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
也提到了

也可以在端点文件中添加以下代码:

process.on('SIGUSR2', () => { process.exit(0); });

试试这个
echo fs.inotify.max_user_watches=524298 | sudo tee-a/etc/sysctl.conf&&sudo sysctl-p
。如果修复了,请告诉我,然后我可以回答。nodemon使用名为
inotify watchers
的工具,允许
nodemon
监视您的文件系统。不幸的是,当此限制超过时,nodemon无法监视代码中的更改。这里提到了这一点:发生这种情况是因为您的文件有一些错误或您的代码有一些错误。Nodemon告诉您更正应用程序中的所有错误。所有错误消失后,nodemon自动启动服务器。@PrashantGupta如果是这种情况,那么它不应该在端口3000处出现侦听错误。@RishabhGupta请发布代码。检查此问题:。这意味着您的解决方案是临时修复程序。它可能是端口。在VScode的终端中运行了一个带有nodemon的应用程序后,我收到了这个错误。有一次我试图退出,但没有成功。后来我试着在普通的终端上做,它给了我这个错误。必须关闭VScode并重新启动它。@DakshMiglani刚刚浏览了这篇文章,内容非常丰富。但通常情况下,
EADDRINUSE
由于端口不可用而出现错误。@DavidR-true,但通常端口3000用于开发服务器,这意味着他正在运行此服务器并更改了一些代码,但随后出现了此问题,解决此问题的方法是增加观察者。@RishabhGupta哦,这是我的荣幸。