You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下运行Node.js遇EADDRINUSE错误,求排查解决方法

解决Windows下Node.js的EADDRINUSE端口占用问题

你的Node.js服务尝试监听3000端口时触发EADDRINUSE错误,说明该端口已被其他进程占用,任务管理器排查无果的话,试试以下Windows专属的解决步骤:

1. 精准定位占用3000端口的进程

打开命令提示符(CMD)或PowerShell,执行命令:

netstat -ano | findstr :3000

执行后会得到类似输出:

TCP    [::]:3000              [::]:0                 LISTENING       1234

最后一列的1234就是占用端口的进程ID(PID)。

2. 强制终止占用进程

拿到PID后,执行命令终止进程:

taskkill /F /PID 1234
  • /F 参数用于强制终止进程
  • 将1234替换为你实际查到的PID

如果提示“拒绝访问”,右键点击CMD/PowerShell选择以管理员身份运行后重试。

3. 临时更换端口(快速绕过问题)

不想排查进程的话,直接修改代码里的监听端口,比如改成3001:

server.listen(3001);

修改后重新运行代码即可。

4. 给服务添加错误监听(避免程序崩溃)

作为初学者,建议给Server添加错误事件监听,下次遇到类似问题时程序不会直接崩溃,还能给出明确提示:

const http=require('http');
const server=http.createServer((req,res) => {
    const url=req.url;
    if(url == '/'){ 
        res.setHeader('Content-Type','text/html');
        res.write('<html>');
        res.write('<body>Hello</body>');
        res.write('</html>');
        res.end();
    }
});

// 添加错误监听逻辑
server.on('error', (err) => {
    if (err.code === 'EADDRINUSE') {
        console.log('端口3000已被占用,请更换端口或关闭占用进程');
    } else {
        console.error('服务器启动失败:', err);
    }
});

server.listen(3000);

内容的提问来源于stack exchange,提问作者Srinivasa Raghu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:33:25