目录
- [Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案](#Vite 启动报错:listen EACCES: permission denied 0.0.0.0:80 解决方案)
-
- 一、问题现象
- 二、错误原因
- 三、解决方案
-
- 方案一(推荐):修改开发端口
-
- [方法 1:修改 `.env` 文件](#方法 1:修改
.env文件) - [方法 2:修改 `vite.config.js`](#方法 2:修改
vite.config.js)
- [方法 1:修改 `.env` 文件](#方法 1:修改
- [方案二(不推荐):使用 sudo](#方案二(不推荐):使用 sudo)
- [方案三(高级):给 Node 授权](#方案三(高级):给 Node 授权)
- 四、总结
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。