Node.js 每次使用Nodemon保存时都会生成EADDRINUSE
我使用Ubuntu 20.04、Nodemon 2.0.4、Node 14.9.0和Express 4.17.1。每次保存代码时,都会出现以下错误:Node.js 每次使用Nodemon保存时都会生成EADDRINUSE,node.js,express,nodemon,Node.js,Express,Nodemon,我使用Ubuntu 20.04、Nodemon 2.0.4、Node 14.9.0和Express 4.17.1。每次保存代码时,都会出现以下错误: events.js:291 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE: address already in use :::3000 at Server.setupListenHandle [as _listen2] (net.j
events.js:291
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::3000
at Server.setupListenHandle [as _listen2] (net.js:1318:16)
at listenInCluster (net.js:1366:12)
at Server.listen (net.js:1452:7)
at Function.listen (/home/ubuntu/kopum/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/home/ubuntu/kopum/app.js:37:5)
at Module._compile (internal/modules/cjs/loader.js:1075:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1096:10)
at Module.load (internal/modules/cjs/loader.js:940:32)
at Function.Module._load (internal/modules/cjs/loader.js:781:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1345:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EADDRINUSE',
errno: -98,
syscall: 'listen',
address: '::',
port: 3000
}
[nodemon] app crashed - waiting for file changes before starting...
然后通过运行
nodemonapp.js
重新启动Nodemon,一切都恢复正常。但当我添加一些代码并保存它时,EADDRINUSE又回来了。当我遇到类似问题时,一个简单的修复方法是稍微重新启动Nodemon:
nodemon --delay 500ms app.js
这似乎为正确释放端口提供了一点时间。当我遇到类似问题时,一个简单的修复方法是稍微重新启动Nodemon:
nodemon --delay 500ms app.js
这似乎为端口的正确释放提供了一点时间。似乎
节点门
在启动前没有正确杀死子繁殖进程
在package.json
文件中编辑scripts
属性,并添加kill命令,以在服务器启动之前终止侦听端口的任何进程
"scripts": {
"start": "npm run kill && nodemon app.js",
"kill": "kill -9 $(lsof -i :3000) &>/dev/null | exit 0"
}
似乎
nodemon
在启动前没有正确地杀死子繁殖进程
在package.json
文件中编辑scripts
属性,并添加kill命令,以在服务器启动之前终止侦听端口的任何进程
"scripts": {
"start": "npm run kill && nodemon app.js",
"kill": "kill -9 $(lsof -i :3000) &>/dev/null | exit 0"
}
尝试在每次保存命令后运行npx kill port 3000尝试在每次保存命令后运行npx kill port 3000您的端口在其他地方使用。尝试使用其他端口,但您的端口在其他地方使用。尝试使用3000以外的其他端口