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

uncaughtException Error: listen EACCES: permission denied 0.0.0.0:7001
    at Server.setupListenHandle [as _listen2] (node:net:1415:21)
    at listenInCluster (node:net:1480:12)
    at Server.listen (node:net:1568:7)
    at E:\midwayjs\midway-project\node_modules\_@midwayjs_koa@3.11.12@@midwayjs\koa\dist\framework.js:163:29
    at new Promise (<anonymous>)
    at MidwayKoaFramework.run (E:\midwayjs\midway-project\node_modules\_@midwayjs_koa@3.11.12@@midwayjs\koa\dist\framework.js:155:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async MidwayFrameworkService.runFramework (E:\midwayjs\midway-project\node_modules\_@midwayjs_core@3.11.11@@midwayjs\core\dist\service\frameworkService.js:153:17)
    at async MidwayLifeCycleService.init (E:\midwayjs\midway-project\node_modules\_@midwayjs_core@3.11.11@@midwayjs\core\dist\service\lifeCycleService.js:63:9)
    at async ObjectCreator.doInitAsync (E:\midwayjs\midway-project\node_modules\_@midwayjs_core@3.11.11@@midwayjs\core\dist\definitions\objectCreator.js:111:17) {
  code: 'EACCES',
  errno: -4092,
  syscall: 'listen',
  address: '0.0.0.0',
  port: 7001
}

解决方式一:

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

修改端口为3000

import { MidwayConfig } from '@midwayjs/core';

export default {
  // use for cookie sign key, should change to your own and keep security
  keys: '1689213698228_6661',
  koa: {
    port: 3000,
  },
  view: {
    defaultViewEngine: 'nunjucks',
  },
} as MidwayConfig;

解决方法二:

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