상세 컨텐츠

본문 제목

Node js 에서 address already in use 에러 해결하기

IT 공부/백엔드(Back-end)

by 듀_77 2021. 12. 28. 05:19

본문

반응형

서버 올린 파일을 삭제하고, 

새 파일에서 port 3000 서버를 구동했더니 

이런 에러가 생겼다.

Node js에서 address already in use 문구를 

발견했을 때 간단하게 해결하는 법!

 

터미널을 변경하는 방법으로 해결된다.

 

node:events:368
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (node:net:1334:16)
    at listenInCluster (node:net:1382:12)
    at Server.listen (node:net:1469:7)
    at Object.<anonymous> (C:\Users\Administrator\Desktop\test.js:14:6)     
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153: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:81:12)
    at node:internal/main/run_main_module:17:47
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1361:8)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EADDRINUSE',
  errno: -4091,
  syscall: 'listen',
  address: '::',
  port: 3000
}

터미널에 나타난 에러의 전체 코드다.

이미 포트가 사용중이기 때문에 다시 재실행할 수 없는 경우다.

 

지금 사용하고 있는 포트는 3000번이므로,

여기서 어떤 node js 프로세스가 해당 port를 

점유하고 있는지 알아내면 된다.

 

그리고 그 프로세스를 죽이면 해결된다.

 

lsof : 'lsof' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 
있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하  
고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시 
오.
위치 줄:1 문자:1
+ lsof -i TCP:3000
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (lsof:String) [],   
   CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

 address already in use 에러를 해결하려고,

lsof 명령어를 쳐봤는데 또 다른 에러가 나온다.

 

아래 글을 읽고 힌트를 얻었다.

보니까 사용하던 터미널이 powershell이어서

node가 작동이 안됐던 거였다.

 

1. node 터미널을 들어가봤는데,

3000번 port에 연결되어 있는 상태였다.

 

2. 터미널에 아무런 입력도 안되는 상태 (서버 구동중)

 

3. node 터미널을 삭제하고,

node "파일명" 명령어를 입력 

(터미널에서 ctrl+c 로, 서버를 꺼도 된다.)

 

4. 새로운 node터미널이 생기면서

node js의 address already in use 에러가 해결됐다.

 

https://blog.naver.com/PostView.nhn?blogId=dlaxodud2388&logNo=222102392025

 

[오류모음] npm : 'npm' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로

VSCode와 Node.js 를 설치하고 간단한 프로젝트를 생성하기 위해 npm init을 쳤는데 다음과 같은 오류...

blog.naver.com

 

반응형

관련글 더보기

댓글 영역