Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案

目录

  • [Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案](#Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案)

Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案

一、问题现象

在 Linux(如 Ubuntu)环境中运行 RuoYi 前端项目时,执行:

bash 复制代码
npm run dev

出现如下错误:

bash 复制代码
error when starting dev server:
Error: listen EACCES: permission denied 0.0.0.0:80
    at Server.setupListenHandle [as _listen2] (node:net:1886:21)
    at listenInCluster (node:net:1965:12)
    at Server.listen (node:net:2067:7)
    at httpServer.listen (file:///media/roc/Data/Documents/WorkSapce/webstorm/xxxxxx/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:38758:14)

二、错误原因

该错误表示:

  • 开发服务器尝试监听 80 端口
  • 当前用户权限不足
  • Linux 系统中 1024 以下端口属于系统保留端口
  • 只有 root 用户可以使用这些端口

因此普通用户运行 Vite 时会报错。


三、解决方案

方案一(推荐):修改开发端口

开发环境不建议使用 80 端口,可以改为 3000 或 5173。

方法 1:修改 .env 文件

找到:

复制代码
.env.development

修改为:

复制代码
VITE_PORT=5173

或:

复制代码
VITE_PORT=3000

然后重新启动:

bash 复制代码
npm run dev

方法 2:修改 vite.config.js

示例:

js 复制代码
export default {
  server: {
    port: 5173,
    host: '0.0.0.0'
  }
}

方案二(不推荐):使用 sudo

可以临时解决:

bash 复制代码
sudo npm run dev

但不推荐,原因:

  • 权限过高存在安全风险
  • 容易导致 node_modules 权限混乱
  • 可能影响后续开发

方案三(高级):给 Node 授权

如果必须使用 80 端口:

bash 复制代码
sudo setcap 'cap_net_bind_service=+ep' $(which node)

适用于特殊场景或服务器环境。


四、总结

该问题本质是:

普通用户没有权限监听 1024 以下端口。

最简单有效的解决方式是:

✔ 修改 Vite 开发端口为 3000 或 5173。

相关推荐
tedcloud12326 分钟前
UI-TARS-desktop部署教程:构建AI桌面自动化系统
服务器·前端·人工智能·ui·自动化·github
UXbot4 小时前
AI原型设计工具如何支持团队协作与快速迭代
前端·交互·个人开发·ai编程·原型模式
夏日听雨眠4 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
ZC跨境爬虫4 小时前
跟着MDN学HTML_day_48:(Node接口)
前端·javascript·ui·html·音视频
qq_542515416 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位6 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
PieroPc6 小时前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
小麦嵌入式6 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
巴巴博一7 小时前
2026 最新:Trae / Cursor 一键接入 taste-skill 完整教程(让 AI 前端告别“AI 味”)
前端·ai·ai编程
皮卡蛋炒饭.7 小时前
传输层协议UDP
linux·网络协议·udp