如何修复‘Error: listen EADDRINUSE: address already in use :::5000’未处理error事件?
解决 Error: listen EADDRINUSE: address already in use :::5000 错误
这个错误的核心原因是5000端口已经被其他进程占用,和node_modules无关,所以重装依赖无法解决问题。以下是几种可行的修复方法:
方法一:终止占用5000端口的进程
Windows系统
- 打开命令提示符,执行以下命令查找占用端口的进程PID:
netstat -ano | findstr :5000 - 找到输出结果最后一列的PID数字,执行命令强制终止该进程:
taskkill /PID <替换为查到的PID> /F
macOS/Linux系统
- 打开终端,执行以下命令查找占用端口的进程PID:
lsof -i :5000 - 找到输出中的PID,执行命令杀死该进程:
kill -9 <替换为查到的PID>
方法二:修改服务器监听的端口号
直接修改你的server.js文件(报错指向第23行的listen方法),将端口5000替换为其他未被占用的端口,比如5001:
// 示例代码 app.listen(5001, () => { console.log('服务器已启动,监听端口5001'); });
方法三:检查并关闭残留的Node.js进程
有时候之前的Node服务器进程没有正常退出,会残留占用端口。可以通过任务管理器(Windows)或活动监视器(macOS)找到所有Node.js相关进程,手动关闭后再重启服务器。
内容的提问来源于stack exchange,提问作者klng
相关产品推荐
相关产品推荐

