Mac Monterey OS에서 EADDRINUSE 에러 해결하는 법
Mac Monterey OS에서 EADDRINUSE 에러 해결하는 법
해당 포트(아래 예시는 5000)를 이미 다른 프로세스에 의해 사용중일 때 다음과 같은 에러가 난다.
[0] Error: listen EADDRINUSE: address already in use :::5000
[0] at Server.setupListenHandle [as _listen2] (node:net:1330:16)
[0] at listenInCluster (node:net:1378:12)
[0] at Server.listen (node:net:1465:7)
[0] at READ_WRITE (your_path/node_modules/webpack-dev-server/lib/Server.js:3215:23)
[0] at new Promise (<anonymous>)
[0] at Server.start (your_path/node_modules/webpack-dev-server/lib/Server.js:3213:7)
[0] at async Command.<anonymous> (your_path/node_modules/@webpack-cli/serve/lib/index.js:242:25)
[0] at async Promise.all (index 1)
[0] at async Command.<anonymous> (your_path/node_modules/webpack-cli/lib/webpack-cli.js:1672:7) {
[0] code: 'EADDRINUSE',
[0] errno: -48,
[0] syscall: 'listen',
[0] address: '::',
[0] port: 5000
[0] }
이때 포트를 사용중인 프로세스는 다음 커맨드로 확인 가능하다.
sudo lsof -i :5000
해당 프로세스를 kill -9 PID
로 제거하면 해결된다.
그런데 맥 Monterey OS에서는 Command Center 프로세스가 뜨는 경우가 있는데, 이 프로세스는 OS에 의해 계속해서 재시작된다. 이는 System Preferences - Sharing - AirPlay Receiver 에서 On 체크를 지워주면 해결된다.
Ref
https://stackoverflow.com/questions/4075287/node-express-eaddrinuse-address-already-in-use-kill-server
https://nono.ma/port-5000-used-by-control-center-in-macos-controlce