📅  最后修改于: 2023-12-03 15:42:09.444000             🧑  作者: Mango
这是一种在JavaScript中常见的错误。当使用Node.js创建Web应用程序时,如果该程序尝试使用已在使用的端口(例如3000),就会出现此错误。
这个错误通常会发生在你试图启动一个Web服务器时。通常情况下,你可能启动了多个服务,或上一个使用该端口的服务尚未完全停止。另一个常见原因是,该端口正在被其他应用程序使用,例如另一个Web服务器。
打开终端并执行以下命令,就可以查找已经使用你要使用的端口的进程。
sudo lsof -i :3000
这会输出占用3000端口的进程列表。 记下每个进程的PID(终止进程将结束其占用的端口)。
使用以下命令终止每个PID的进程:
kill -9 <PID>
然后再次尝试启动Web服务器,应该就可以了。
另一种解决此错误的方法是更改Web服务器使用的端口号。 这可能需要在应用程序的配置文件(例如package.json)或代码中进行更改。
例如,在Express.js中,更改端口号的方法是类似于这样的代码:
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
在这个例子中,将端口号从3000更改为5000。 更改代码后,再次尝试启动Web服务器,应该就可以了。
EADDRINUSE错误指示Web服务器尝试使用已在使用的端口。 常见的解决方案是杀死占用该端口的进程或更改Web服务器的端口号。 通过实施这些解决方案,您应该能够解决此错误并启动Web服务器。