Node.js Error: listen EADDRINUSE:::

运行Node.js项目时可能会遇到端口被占用的报错。解决方式有两种,一是换端口,二是找出占用端口的程序并关闭或kill掉。文中以9999端口为例,发现是GoAgentX占用了端口,将其关闭或kill后,Node.js项目成功启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行Node.js项目的时候,报错

listen EADDRINUSE :::9999
Error: listen EADDRINUSE :::9999
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at Server._listen2 (net.js:1257:14)
    at Server._listen2 (/Users/zhaotf/workspaces_node/folivore-api/node_modules/async-listener/index.js:51:23)
    at listen (net.js:1293:10)
    at Server.listen (net.js:1389:5)
    at EventEmitter.express.application.listen (/Users/zhaotf/workspaces_node/folivore-api/node_modules/express.oi/lib/index.js:130:29)
    at Object.listen (/Users/zhaotf/workspaces_node/folivore-api/core/log/logcat.js:67:9)
    at /Users/zhaotf/workspaces_node/folivore-api/server/server.js:42:10
    at /Users/zhaotf/workspaces_node/folivore-api/node_modules/loopback-boot/lib/executor.js:64:5
    at /Users/zhaotf/workspaces_node/folivore-api/node_modules/loopback-boot/node_modules/async/lib/async.js:251:17
    at /Users/zhaotf/workspaces_node/folivore-api/node_modules/loopback-boot/node_modules/async/lib/async.js:154:25
    at /Users/zhaotf/workspaces_node/folivore-api/node_modules/loopback-boot/node_modules/async/lib/async.js:248:21
    at /Users/zhaotf/workspaces_node/folivore-api/node_modules/loopback-boot/node_modules/async/lib/async.js:612:34
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)
    at process.fallback (/Users/zhaotf/workspaces_node/folivore-api/node_modules/async-listener/index.js:482:15)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

报错原因:端口被占用

解决方式:

方式一:换端口

方式二:找出占用端口程序,kill掉

这里以9999端口为例

找出占用端口程序。

 ✗ sudo lsof -n -P | grep :9999
Password:
GoAgentX  2659          zhaotf   20u     IPv4 0xe877a1e121c8c2cb        0t0      TCP *:9999 (LISTEN)
GoAgentX  2659          zhaotf   21u     IPv6 0xe877a1e12174845b        0t0      TCP *:9999 (LISTEN)

原来是GoAgentX占用了端口,关闭或 kill掉(kill 2659)GoAgentX,成功启动Node.js。