Node.js 에러 해결 - Error: listen EADDRINUSE: address already in use
💡 Node 에러 해결
노드 서버를 실행했는데 EADDRINUSE라는 에러가 나왔다. 아래 에러를 해석해보면 내가 사용하려는 3000번 포트가 현재 다른 누군가가 사용중이라는 이야기인데, 이럴 경우에 중요한 프로세스가 아니라면 해당 포트의 PID 번호를 찾아서 해당 포트를 죽일 수 있다.
node:events:505
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::3000
at Server.setupListenHandle [as _listen2] (node:net:1372:16)
at listenInCluster (node:net:1420:12)
at Server.listen (node:net:1508:7)
at Function.listen (/Users/eunjaeyoon/Desktop/2022/CodeStates/blockchain/beb-sprint-MnemonicWallet/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/Users/eunjaeyoon/Desktop/2022/CodeStates/blockchain/beb-sprint-MnemonicWallet/app.js:45:5)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1399:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EADDRINUSE',
errno: -48,
syscall: 'listen',
address: '::',
port: 3000
}
✓ 해결 방법 (MAC OS를 사용하는 경우에만 해당)
sudo lsof -i:3000[포트번호]
kill -9 34295
첫 번째 명령어를 이용해 PID 번호를 먼저 알아내어, 찾아낸 PID 번호로 해당 프로세스를 죽이면 해결!