Error: listen EACCES: permission denied
作者:mmseoamin日期:2023-12-25

使用npm run dev 运行vue项目的时候遇到以下错误:

error when starting dev server:
Error: listen EACCES: permission denied 0.0.0.0:5173
    at Server.setupListenHandle [as _listen2] (node:net:1723:21)
    at listenInCluster (node:net:1788:12)
    at Server.listen (node:net:1876:7)
    at httpServer.listen (file:///E:/py-workspace/smart_gate/management/node_modules/vite/dist/node/chunks/dep-d305c21f.js:63033:20)

解决方式一:

如果修改默认的5173端口,尝试不同端口,可以启动成功。

具体方法:修改package.json中的dev选项, 如下使用3000端口启动

  "scripts": {
    "dev": "vite --port 3000",
    "build": "vite build",
    "preview": "vite preview"
  }

解决方法二:

  1. 使用管理员身份运行PowerShell
  2. 停止winnat服务:net stop winnat
  3. 启动winnat服务:net start winnat

“winnat” 服务在 Windows 系统中充当网络地址转换的关键组件,它能够帮助您实现网络连接共享、内网访问外网以及端口转发等功能。

欢迎知道原理的补充

初步感觉,应该是5173等端口转发出现问题,所以重启winnat服务或者更换端口都能解决问题