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

如何修复Node.js中“Error: listen EADDRINUSE: address already in use :::5000”错误

解决Node.js中EADDRINUSE端口占用问题

错误原因

你遇到的Error: listen EADDRINUSE: address already in use :::5000错误,核心原因是端口5000已经被其他进程占用,导致你的Express服务无法绑定该端口启动。


解决办法

1. 终止占用端口的进程

根据操作系统选择对应命令:

  • macOS/Linux:
    先查找占用5000端口的进程ID(PID):

    lsof -i :5000
    

    若权限不足,添加sudo:

    sudo lsof -i :5000
    

    找到输出里的PID,执行命令强制终止:

    kill -9 <查到的PID>
    
  • Windows:
    打开命令提示符或PowerShell,查找PID:

    netstat -ano | findstr :5000
    

    强制终止对应进程:

    taskkill /F /PID <查到的PID>
    

2. 修改项目监听端口

如果不想终止现有进程,直接修改项目端口:
打开项目中的index.js(错误提示指向该文件第50行),找到监听端口的代码:

app.listen(5000, () => {
  console.log('Server running on port 5000');
});

把5000换成其他未被占用的端口(比如5001、3001),保存后重启项目即可。

3. 添加错误监听(避免进程崩溃)

为防止后续类似未处理错误导致进程直接崩溃,可以给服务添加错误监听:

const server = app.listen(5000, () => {
  console.log('Server running on port 5000');
});

server.on('error', (err) => {
  if (err.code === 'EADDRINUSE') {
    console.log('端口5000已被占用,请更换端口或终止占用进程');
  } else {
    console.error('服务启动出错:', err);
  }
});

内容的提问来源于stack exchange,提问作者Parth Sojitra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:12:39