当我输入“node site.js”时我得到了这个,我100%确定我没有两次运行这个节点。
Error: listen EADDRINUSE :::3000
at Object.exports._errnoException (util.js:1022:11)
at exports._exceptionWithHostPort (util.js:1045:20)
at Server._listen2 (net.js:1262:14)
at listen (net.js:1298:10)
at Server.listen (net.js:1376:9)
at Server.listen.Server.attach (/root/node_modules/socket.io/lib/index.js:228:9)
at Timeout._onTimeout (/root/nodejs/site.js:1005:29)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '::',
port: 3000 }
我正在使用FEDORA 23
答案 0 :(得分:7)
您的site.js
尝试在该端口上侦听两次或其他(另一个进程)已在端口3000上侦听。找到该服务并停止/终止它。此命令应该有帮助:lsof -i | grep 3000
答案 1 :(得分:2)
尝试再次运行killall node
,然后node site.js
。如果这不起作用,至少可以排除Node的原因。
答案 2 :(得分:-2)
您的站点正在侦听该端口两次。您可以检查您的代码是否有 2 条指令 .listen()