티스토리 뷰

 

npm run build 이후 npm run start 실행 시 Failed to start serverError: listen EADDRINUSE: address already in use :::3000 에러가 발생했다.

 

찾아보니 EADDRINUSE 에러는 포트 3000이 이미 사용 중이기 때문에 발생하는 오류라고한다.

따라서 포트 3000을 사용 중인 프로세스를 종료하거나 다른 포트를 사용하도록 설정해야한다.

 

1. 포트 3000을 사용 중인 프로세스를 종료하기

먼저 포트 3000을 사용중인 프로세스를 찾아야 한다. 

Windows: netstat -ano | findstr :3000
macOS/Linux: lsof -i :3000

나는 Windows를 사용하고 있어서 명령어를 치면 아래와 같이 뜬다.

 

다음으로 프로세스를 종료 시키면 된다.

Windows: taskkill /PID <PID> /F
macOS/Linux: kill -9 <PID>

 

여기서 <PID> 는 netstat -ano | findstr :3000 의 결과인 프로세스 ID 이다. (위 사진의 20236)

프로세스를 종료하면 다음과 같이 프로세스가 종료되었다는 메세지가 뜬다. 이후 다시 npm run start를 하면 제대로 동작한다.

 

 

2. 다른 포트를 사용하여 서버 실행하기

PORT=3001 npm run start

이 명령어를 실행하면 Next.js 서버가 포트 3001에서 시작된다.

 

+ npm run build 전에 Ctrl + C 로 현재 실행중인 프로세스를 종료하면(=실행중인 서버를 중지시키고) 위와 같은 작업을 반복하지 않아도 된다..