温馨提示×

Node.js日志中出现EADDRINUSE怎么办

小樊
73
2025-05-10 16:27:01
栏目: 编程语言

当你在Node.js应用程序中遇到EADDRINUSE错误时,这意味着你尝试启动的服务器端口已经被其他进程占用。EADDRINUSE是"Error Address in Use"的缩写。为了解决这个问题,你可以尝试以下方法:

  1. 更改端口号:更改你的Node.js应用程序使用的端口号。在你的应用程序代码中找到监听端口的那一行(通常是app.listen(port)server.listen(port)),将端口号更改为其他未被占用的端口。
const port = process.env.PORT || 3001; // 将端口号从3000更改为3001或其他未被占用的端口 app.listen(port, () => { console.log(`Server is running on port ${port}`); }); 
  1. 找出占用端口的进程并结束它:你可以使用命令行工具来查找占用端口的进程并结束它。以下是在不同操作系统中执行此操作的方法:
  • 在Windows上:

    1. 打开命令提示符(CMD)。
    2. 输入netstat -ano | findstr :端口号(将端口号替换为实际端口号),例如:netstat -ano | findstr :3000
    3. 查找结果中的PID(进程ID)。
    4. 输入taskkill /PID 进程ID /F(将进程ID替换为实际进程ID),例如:taskkill /PID 12345 /F
  • 在Linux和macOS上:

    1. 打开终端。
    2. 输入lsof -i :端口号(将端口号替换为实际端口号),例如:lsof -i :3000
    3. 查找结果中的PID(进程ID)。
    4. 输入kill 进程ID(将进程ID替换为实际进程ID),例如:kill 12345

完成以上步骤后,端口应该已经释放,你可以重新启动Node.js应用程序。

0