2023-11-29 16:19:29,825 ERROR 351947 [app_worker] server got error: bind EADDRIN

42 阅读1分钟

这个错误表明端口 3000 已经被其他进程占用了。要解决这个问题,你可以尝试以下方法:

  1. 更改应用的端口号:

在你的 egg.js 项目中,找到 config 文件夹下的 config.default.js 文件,修改端口号:

module.exports = appInfo => {
  const config = {};

  // 修改端口号,例如改为 3001
  config.cluster = {
    listen: {
      path: '',
      port: 3001,
      hostname: '0.0.0.0',
    },
  };

  return config;
};

然后重启你的应用。

  1. 找到占用端口 3000 的进程并停止它:

首先,你需要找到占用端口 3000 的进程。根据你的操作系统,可以使用以下命令:

  • 对于 macOS/Linux:
sudo lsof -i :3000
  • 对于 Windows:
netstat -aon | findstr 3000

这些命令将显示占用端口 3000 的进程及其 PID。然后,你可以使用以下命令终止该进程:

  • 对于 macOS/Linux:
sudo kill -9 <PID>
  • 对于 Windows:
taskkill /F /PID <PID>

将 <PID> 替换为实际的进程 ID。

完成以上操作后,你可以重新启动你的 egg.js 应用,应该不会再出现 EADDRINUSE 错误。