코딩/코드국민 (진행중)

code ECONNREFUSED 에러 해결

연 동 2024. 2. 29. 00:39

1월 열심히 프로젝트 하고 2월 내내 놀다 다시 코딩을 해야겠다 생각한 어느날

깃허브에서 git clone해온 뒤 npm install을 했는데 설치할때까지 매우 오랜 시간이 걸리며 설치가 제대로 되지 않는 문제를 발견했다.

약 25개정도의 의존성을 가지고 있어 좀 시간이 걸리겠구나 했는데 20분이 지나도 설치가 되지 않아 뭔가 고장남을 느꼈다.

그 후 code ECONNREFUSED라는 npm 오류가 나타나 검색을 해보았다.

이런 화면만 몇분간 지속되다가
결국 이런 오류가 나타났다

 

Chat GPT에 물어본 결과 아래처럼 답변이 나왔다!

 

문제 해결 과정

1. 네트워크 연결 - 아무런 이상이 없었다.

2. 프록시 설정 확인 - 확인해보니 이곳에서 문제가 생겼었다! 자세한건 아래 작성 예정

3. 레지스트리 설정 확인 - 아래 캡쳐본을 참고하여 npm 레지스트리 설정을 초기화했지만 같은 오류가 발생했다.

검색해본 npm config 초기화 방법

4. npm 캐시 및 임시 파일 제거 - 4번까지 가기 전에 해결하여 해보진 않았지만, 캐시 제거를 하고 싶다면 아래 링크에 방법이 친절하게 나온다.

https://icerabbit.tistory.com/78

 

[Node.js] npm cache 해결

npm은 node.js에서 사용하는 패키지 관리자인데, 많은 편리한 플러그인들이 있어 유용하게 사용할 수 있다. python의 pip와 유사하다. 그런데 npm도 버전이 다양한데, apt-get 등으로 설치할 경우에 버전

icerabbit.tistory.com

5. 네트워크 방화벽 및 안티바이러스 소프트웨어 확인 - 딱히 이건 건드린 적이 없어 넘겼다.

 

 

문제 정답

2번 해답인 프록시 설정 확인에서 문제를 해결할 수 있었다.

지난 달 부트캠프에서 광고 서버를 관리하는 홈페이지를 만들 때 Docker를 사용하여 웹 프론트엔드, 백엔드, DB를 실행하고자 하였으나 CORS에러가 터졌었다.

백엔드와 DB의 연결은 괜찮았는데 프론트엔드(localhost:3000)에서 백엔드(localhost:8080)에 요청할 시 제대로 된 답을 받지 못하고 CORS 에러가 나타나 결국 발표날 프론트엔드는 로컬에서 실행하는걸로 합의를 봤었다ㅠㅠ

시간관계상 문제를 해결하진 못했지만 고민하는 과정에서 프록시를 건드렸던 적이 있다.

프록시로 프론트엔드의 port를 8080으로 고치고 백엔드에 요청을 보내면 괜찮지 않을까? 하는 생각이었는데 당시 프록시에 대해서도, 이런 오류에 대해서도 잘 알지 못하여 결국 실패로 돌아갔었다.

 

아무튼 이러한 일이 있고 나서 무려 한 달간 코딩을 하지 않았기 때문에.. 프록시 설정이 된 채로 npm 설치를 하려고 하니 오류가 생겼던 것이었다.

결국 proxy 초기화에 대해 검색해보니 아래와 같은 결과가 나와서 문제가 잘 해결 되었다.

 

https://stackoverflow.com/questions/21228995/how-to-clear-https-proxy-setting-of-npm

 

How to clear https proxy setting of NPM?

How can I clear the previous ssl proxy setting of NPM? well, I search a lot, but all post I got is mainly about how to set proxy in corporate network. I try to set proxy to nothing: npm config set

stackoverflow.com

이 링크를 타고 들어가면 프록시 초기화 방법이 친절하게 설명되어 있다.

덕분에 오류 해결!

 

 

다음 글 예고

code ECONNREFUSED 해결하고 나니 code ERESOLVE 에러가 난다.

아무래도 리액트와 material-ui간의 호환성 문제인것 같은데 이것도 조만간 해결하고 올릴게요

오늘은 이상~

728x90