背景:
当通过 nodemon 命令运行web服务时,出现如下错误
D:\WebstormProjects\node-demo>nodemon serve.js [nodemon] 2.0.2 [nodemon] to restart at any time, enterrs
[nodemon] watching dir(s): . [nodemon] watching extensions: js,mjs,json [nodemon] startingnode serve.js
web服务以启动,可以通过localhost:8090进行访问 events.js:200 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE: address already in use :::8090 ?[90m at Server.setupListenHandle as _listen2?[39m ?[90m at listenInCluster (net.js:1354:12)?[39m ?[90m at Server.listen (net.js:1442:7)?[39m at Object. (D:\WebstormProjects\node-demo\serve.js:81:11) ?[90m at Module._compile (internal/modules/cjs/loader.js:955:30)?[39m ?[90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)?[39m ?[90m at Module.load (internal/modules/cjs/loader.js:811:32)?[39m ?[90m at Function.Module._load (internal/modules/cjs/loader.js:723:14)?[39m ?[90m at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)?[39m ?[90m at internal/main/run_main_module.js:17:11?[39m Emitted 'error' event on Server instance at: ?[90m at emitErrorNT (net.js:1333:8)?[39m ?[90m at processTicksAndRejections (internal/process/task_queues.js:81:21)?[39m { code: ?[32m'EADDRINUSE'?[39m, errno: ?[32m'EADDRINUSE'?[39m, syscall: ?[32m'listen'?[39m, address: ?[32m'::'?[39m, port: ?[33m8090?[39m } [nodemon] app crashed - waiting for file changes before starting…
解决办法:
原由:出现该问题的原因是之前已经运行了一个本地的端口号为8090的服务,并没有终止该服务,然后又再次运行该服务时出现了错误
1、打开 dos 命令行工具
2、输入netstat -ano 命令以查询端口号为8090的PID码
netstat -ano
3、然后通过tskill PID码 命令结束当前的进程,当前本机8090端口对应的PID码为4784
tskill 4784
4、然后再次通过 nodemon 命令运行该服务即可