dev.syw
Node.js · 실행

EADDRINUSE: port 3000 is already in use 해결

Error: listen EADDRINUSE: address already in use :::3000

#Node.js#포트#개발서버#EADDRINUSE

증상

npm run dev 또는 서버 실행 시 다음 오류로 서버가 뜨지 않습니다.

Error: listen EADDRINUSE: address already in use :::3000

원인

지정한 포트(예: 3000)를 다른 프로세스가 이미 점유하고 있습니다. 보통 이전에 종료되지 않고 남은 개발 서버이거나, 같은 포트를 쓰는 다른 앱입니다.

해결

1) 포트를 점유한 프로세스 찾아 종료

macOS / Linux

lsof -i :3000        # PID 확인
kill -9 <PID>        # 종료

Windows (PowerShell / CMD)

netstat -ano | findstr :3000   # 마지막 열이 PID
taskkill /PID <PID> /F

2) 다른 포트로 실행

Next.js:

next dev -p 3001

환경 변수로 지정:

PORT=3001 npm run dev

3) 좀비 Node 프로세스 일괄 정리

# macOS / Linux
pkill -f node

자주 겪는다면 package.jsondev 스크립트 포트를 팀에서 안 겹치는 값으로 고정해 두면 편합니다(이 프로젝트는 3003 사용).

← 에러 해결 모음으로 돌아가기