[英]Javascript Error: listen EADDRINUSE: address already in use :::3000 How to avoid and fix it
[英]Error: listen EADDRINUSE: address already in use :::3000
大家好,我是新来的,正在尝试学习 Udemy 上关于将 Node 应用程序连接到数据库的课程,但遇到一个问题,即无法使用 MongoDB 数据库实际运行服务器。 代码在最后。
错误
Error: listen EADDRINUSE: address already in use :::3000
at Server.setupListenHandle [as _listen2] (net.js:1317:16)
at listenInCluster (net.js:1365:12)
at Server.listen (net.js:1451:7)
at Function.listen (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\express\lib\application.js:618:24)
at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\server.js:10:5
at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\utils.js:674:5
at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\mongo_client.js:225:7
at connectCallback (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\operations\connect.js:366:5)
at C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\operations\connect.js:602:5
at connectHandler (C:\Users\Elev\Desktop\javapamokos\todolist\todolistonSteroids\node_modules\mongodb\lib\core\sdam\topology.js:297:43)
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1344:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '::',
port: 3000
}
代码第 1 部分 ( https://prnt.sc/v8rnqm ) 代码第 2 部分 ( https://prnt.sc/v8rofm )
在第 10 行,您已经调用app.listen(3000)
,然后(行被屏幕截图隐藏)在文件底部再次调用app.listen(3000)
。 这就是原因,仅将其保留在第 10 行。 如果您多次需要此实例,请考虑将其分配给一个常量。 例如:
const socket_id = app.listen(3000)
此代码适用于 linux ubuntu 用户
killall -9 node
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.