📅  最后修改于: 2023-12-03 15:30:35.439000             🧑  作者: Mango
当您在启动一个应用程序的时候,使用了一个已经在使用的端口号,就会出现 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
错误,请使用上述方法更改端口号或杀死占用该端口的进程。