오늘은 오류의 날인가 보다...
01. 오류 발생 배경
유튜브 클론코딩 플젝을 진행하던 중.. 서버와 클라이언트 단을 따로 실행을 시키는 것이 불편하게 느껴졌다. 그래서 이걸 한방에 해결해줄 패키지 concurrently 를 설치하고 실행시키려는 찰나.. 갑자기 이런 오류가 발생했다.

서버를 5000번 포트를 사용하고 있었고 서버의 package.js파일에서 이를 연결시켜주고 실행했더니 오류 발생... 5000번 포트를 너무 많이 실행시켰나 싶어 이와 관련된 문제일거라 짐작했다.
02. 해결과정 1
검색을 해보니 예상대로.. node 서버를 5000번 포트로 띄우려 했으나, 이미 사용 중이기에 발생한것 이었다.

스택 오버플로우에 들어가보니 똑같은 에러 응답이 있었다. 위의 이미지는 해결과정이라고 할수 있겠다. 나는 5000번 포트를 확인해야 하므로 따라서 해봤다.
sudo lsof -i :5000
참고로 이 코드는 이용자가 현재 자신이 사용하고 있는 5000번대 포트를 확인할수 있는 코드이다. 위 코드를 입력하면 자신이 현재 사용중인 포트의 PID내역이 뜬다.

kill -9 {PID}
로 포트를 죽여주어야 한다. 서버를 kill하고 다시 실행시키고자 하는 포트로 실행시키면 정상적인 작업이 수행되어야 한다. 실제로도 많은 사람들이 여기까지 에러가 해결되는 것을 많이 보았다.
그러나.... 나는 또 에러가 떴음....
혹시나 싶어 다시 포트를 조회해 입력해 보니 다른 PID로 5000번 포트를 사용중인 것을 확인 할 수 있었다.

... 검색을 다시 해봤다. 그랬더니 비슷한 문제를 겪고 계신 분의 에러로그 포스팅을 발견하게 되었다.
결론적으로 말하자면 macOS를 Monterey로 업데이트해서 발생한 문제였다.(바로 어제 업데이트 했었음 ㅋㅋㅋ.....)
이를 해결하기 위해서는 MacOS의 설정을 바꿔야 하는 것이었다. 거두절미하고 해결방법은 다음과 같음
시스템 환경설정 -> 공유 -> AirPlay 수신모드 체크박스 해제
sudo코드를 입력결과, 따로 서버를 죽이는 과정이 없었는데도 다시 포트가 뜨지 않았다. 다시 보니 커맨드 라인에 코드가 node가 아닌 ControlCe였다.
ControlCe가 커맨드 라인에 있다면 적용해 볼법한 해결방법인듯 하다.
'Framework&Library > 에러 로그(Error)' 카테고리의 다른 글
| axios.post 에러 fetch로 해결 | TypeError: Cannot read properties of undef (0) | 2022.08.09 |
|---|