📌  相关文章
📜  EADDRINUSE:地址已在使用 :::5000 (1)

📅  最后修改于: 2023-12-03 15:30:35.439000             🧑  作者: Mango

EADDRINUSE: 地址已在使用 :::5000

当您在启动一个应用程序的时候,使用了一个已经在使用的端口号,就会出现 EADDRINUSE 错误。这意味着其他应用程序正在使用该端口号,因此您的应用程序无法使用它。

解决方法

一种解决方法是更改应用程序要使用的端口号,以选择一个没有被另一个应用程序使用的端口。您可以在应用程序的配置文件中更改端口号,或通过命令行参数来指定端口号。例如,以下是如何在Node.js中更改端口号:

const http = require('http');

const server = http.createServer((req, res) => {
  res.end('Hello World!');
});

const port = process.env.PORT || 3000;

server.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

在上面的示例中,我们使用 process.env.PORT 来获取要使用的端口号。 如果环境变量未设置,则使用端口号 3000。这种方法可以帮助您避免出现 EADDRINUSE 错误。

另外,您也可以使用 lsof 命令来查找使用端口的进程,并强制终止该进程。例如,在 Linux 系统上,以下是如何找到并杀死监听 5000 端口的进程:

sudo lsof -i :5000

# 第二种方法: fuser
sudo fuser -k 5000/tcp
总结

在启动应用程序之前,请确保您选择的端口没有被另一个应用程序使用。如果出现 EADDRINUSE 错误,请使用上述方法更改端口号或杀死占用该端口的进程。