运行npm run env-debug报EADDRINUSE 80端口占用错误如何解决?
EADDRINUSE 80端口占用问题解决方案
你遇到的EADDRINUSE报错是典型的端口被占用错误,说明当前系统的80端口已经被其他运行中的程序占用,导致npm run env-debug启动的服务无法绑定端口,可通过以下两种方法解决:
方法1:终止占用80端口的进程
根据你使用的操作系统,执行对应操作释放端口:
Windows 系统
- 打开CMD或PowerShell,执行命令查询占用80端口的进程PID:
netstat -ano | findstr :80 - 替换以下命令中的
<PID>为上一步查询到的数字,执行后即可终止占用进程:taskkill /PID <PID> /F
macOS 系统
- 打开终端,执行命令查询占用80端口的进程PID:
sudo lsof -i :80 - 替换以下命令中的
<PID>为上一步查询到的数字,执行后即可终止占用进程:sudo kill -9 <PID>
Linux 系统
- 打开终端,执行任意一条命令查询占用80端口的进程PID:
sudo netstat -tulpn | grep :80sudo lsof -i :80 - 替换以下命令中的
<PID>为上一步查询到的数字,执行后即可终止占用进程:sudo kill -9 <PID>
方法2:修改项目启动端口
如果不需要使用80端口启动当前项目,可以直接修改项目配置更换启动端口:
- 找到项目中的服务配置文件,常见为
.env、vue.config.js、vite.config.js、webpack配置文件、express/koa启动脚本等 - 将配置项中的服务启动端口从
80修改为其他未被占用的端口,比如3000、8000、8080等 - 重新执行
npm run env-debug即可正常启动
注意:1024以下的端口属于系统特权端口,部分操作系统下绑定这类端口需要管理员/root权限,如果你确认要使用80端口启动,可使用管理员身份运行终端后再执行启动命令。
内容的提问来源于stack exchange,提问作者Divya Thakur
相关产品推荐
相关产品推荐

