포트가 이미 사용 중 — EADDRINUSE 해결
문제 해결 / port-already-in-use.html
서버를 켰는데 'address already in use'로 죽는 상황의 원인과, 점유 프로세스를 찾아 정리하는 방법입니다.
💬 오류 증상: Error: listen EADDRINUSE :::3000
앞서 켠 서버가 아직 그 포트를 잡고 있거나, 다른 프로그램이 이미 사용 중이라는 뜻입니다.
발생 원인
- 이전 실행 프로세스가 종료되지 않음.
- 다른 서비스(예: DB, 다른 앱)가 같은 포트 사용.
확인 명령어
# macOS / Linux
lsof -i :3000
# 프로세스만 확인
lsof -ti :3000
해결 방법
# 해당 프로세스 종료
kill -9 $(lsof -ti :3000)
# 또는 다른 포트로 실행
PORT=3001 npm run dev
해결 검증
- 다시
lsof -i :3000했을 때 결과가 비어 있으면 정리된 것입니다. - 서버를 다시 켜 정상 기동을 확인하세요.
출처
- stackoverflow SO 9893645 — 대표 질문
- 공식 문서 Node.js errors — 공식 문서
검증일은 자료의 최신성을 나타냅니다. 오래된 자료는 적용 조건을 확인하세요.