解决 Express.js 中的错误:Error: listen EADDRINUSE: address already in use

阅读时长 3 分钟读完

问题描述

在使用 Express.js 开发 Web 应用程序时,有时会遇到以下错误:

-- -------------------- ---- -------
------ ------ ----------- ------- ------- -- ---
    -- ------------------------ --- --------- ----------------
    -- --------------- ----------------
    -- -------- ---------------
    -- ------------------------- ---------------------------------------
------- ------- ----- -- ------ -------- ---
    -- ----------- ---------------
    -- ------------------------- --------------------------------------- -
  ----- -------------
  ------ -------------
  -------- ---------
  -------- -----
  ----- ----
-

这个错误的意思是端口已经被占用了,无法再次监听。可能是因为之前的进程没有正常关闭,或者是其他程序正在使用该端口。

解决方案

1. 找到占用端口的进程并杀掉

在终端中输入以下命令可以查看哪个进程占用了该端口:

其中 3000 是端口号,可以替换成你的端口号。

然后会输出类似下面的信息:

其中 12345 是占用该端口的进程的 PID。使用以下命令可以杀掉该进程:

然后再次启动你的 Express.js 应用程序即可。

2. 更改监听端口

如果你无法杀掉占用该端口的进程,或者不想杀掉该进程,可以尝试更改你的 Express.js 应用程序监听的端口。例如,将端口号从 3000 更改为 3001

然后再次启动你的应用程序即可。

总结

以上是解决 Express.js 中的错误:Error: listen EADDRINUSE: address already in use 的两种方法。如果你遇到了这个问题,可以尝试以上方法来解决。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65c879e7add4f0e0ff24a29f

纠错
反馈