Laravel执行npm run dev启动Vite服务报3000端口EACCES权限拒绝错误
错误原因
执行npm run dev时触发的Error: listen EACCES: permission denied 127.0.0.1:3000是Vite开发服务器端口绑定失败导致的,和之前npm install依赖安装环节无关,命令开头出现的npm全局参数弃用警告也和本次错误无关联。
常见触发原因:
- 本地3000端口已经被其他运行中的进程占用,包括其他本地前端服务、IIS站点、代理工具、异常退出未释放端口的残留进程
- 当前Windows登录账号没有监听3000端口的权限,常见于系统防火墙规则拦截、企业设备管控限制、安全软件拦截
- 运行中的VPN、网络代理工具劫持了本地环回地址的端口监听权限,导致Vite无法正常绑定端口
解决方案
按照优先级依次尝试以下操作:
- 清理3000端口的占用进程
打开管理员权限的命令提示符/PowerShell,执行以下命令查询占用3000端口的进程PID:netstat -ano | findstr :3000
命令返回结果最后一列的数字就是对应进程的PID,执行以下命令强制结束该进程:taskkill /PID 替换为查询到的PID数字 /F
进程结束后回到项目目录重新执行npm run dev测试。 - 修改Vite开发服务默认端口
如果释放端口后仍然报错,直接修改Vite配置避开3000端口。打开项目根目录下的vite.config.js文件,新增server配置指定未被占用的端口(比如Vite默认的5173端口),配置参考:
保存文件后重新执行import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true, }), ], server: { port: 5173, host: '127.0.0.1' } });npm run dev即可。 - 排查拦截类软件
如果前两步操作无效,临时退出当前运行的安全软件、VPN、全局网络代理工具后重试。如果是企业管控的设备,需要联系管理员放开本地端口监听的权限限制。
内容的提问来源于stack exchange,提问作者Vincer Manila
相关产品推荐
相关产品推荐

