首页 > 解决方案 > 尝试使用 pm2 启动项目时出现 EADDRINUSE 错误

问题描述

在我的项目中运行“pm2 start project.json”时出现以下错误。

port: 3000 }
0|serv | Tue, 08 Sep 2020 03:14:18 GMT app LoadSettingFromRedis: loaded
0|serv | { Error: listen EADDRINUSE 127.0.0.1:3000
0|serv |     at Server.setupListenHandle [as _listen2] (net.js:1360:14)
0|serv |     at listenInCluster (net.js:1401:12)
0|serv |     at doListen (net.js:1510:7)
0|serv |     at _combinedTickCallback (internal/process/next_tick.js:142:11)
0|serv |     at process._tickCallback (internal/process/next_tick.js:181:9)
0|serv |   errno: 'EADDRINUSE',
0|serv |   code: 'EADDRINUSE',
0|serv |   syscall: 'listen',
0|serv |   address: '127.0.0.1',
0|serv |   port: 3000 }
0|serv | Tue, 08 Sep 2020 03:15:08 GMT app LoadSettingFromRedis: loaded
0|serv | Tue, 08 Sep 2020 03:20:43 GMT app LoadSettingFromRedis: loaded

当我检查正在侦听端口 3000 的进程时,我得到了 node. 我杀死了这个过程,但它仍然没有解决问题。有谁知道这里有什么问题?

标签: node.jsnpmserverpm2

解决方案


这意味着您的端口已经在使用中。尝试使用以下命令杀死端口

sudo kill -9 $(sudo lsof -t -i:3000)

如果这不起作用,请尝试以下

sudo lsof -i tcp:3000   // this will return some PIDs 
sudo kill -9 [your pid to remove]

然后再次运行pm2 start命令


推荐阅读