Node.js 错误:监听 EADDRINUSE:地址已在使用中

这篇快速文章向您展示了如何解决使用 Node.js 时可能遇到的常见错误。

问题

在开发 Node.js 应用程序(使用 Express.js)时,我有时会遇到以下问题:

Error: listen EADDRINUSE: address already in use :::3000

完整的错误信息:

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (node:net:1380:16)
    at listenInCluster (node:net:1428:12)
    at Server.listen (node:net:1516:7)
    at Function.listen (/Users/goodman/Desktop/Projects/kindacode/api/node_modules/express/lib/application.js:635:24)
    at server (/Users/goodman/Desktop/Projects/kindacode/api/src/index.ts:60:7)
    at bootstrap (/Users/goodman/Desktop/Projects/kindacode/api/src/index.ts:73:3)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 3000
}

控制台消息表明我正在尝试使用某个程序正在使用的端口运行我的应用程序。这发生在我的应用程序崩溃后。在幕后,很可能有一个终端窗口隐藏在后台仍在运行应用程序。如果您遇到与我相同的问题,请不要惊慌。下面是解决方案。

解决方案

我们要做的其实很简单:杀死端口上正在运行的进程。执行以下命令:

npx kill-port 3000

如果您需要释放 3000 以外的端口,请在该端口上运行上述命令。也可以一次终止多个端口:

npx kill-port 3000 4000 5000 6000 7000

可以解决此问题以及许多其他问题的另一种解决方案只是重新启动计算机(在这种情况下您甚至不必这样做)。

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » Node.js 错误:监听 EADDRINUSE:地址已在使用中