运行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。