[Cloud] 재접속 시 Node 버전 ~ING

심채원·2023년 5월 25일
0

NCP를 이용하여 프로젝트 배포 준비 중이다.

현재 같이 프로젝트를 진행하는 팀원들이 대면으로 만난 사이는 아니고, Bside라는 10일 기획 프로젝트를 위해 만난 사이이기 때문에, 리모트로 모든 것을 진행할 수 밖에 없다.

그래서 통신을 하기 위해서는 모든 개발이 끝나지 않고라도 배포를 해야했다.

그러던 중, SSH에 다시 접속할 때마다 PM2 명령어를 사용할 수 없다는 에러를 마주하였다.


원인

pm2를 사용할 수 없던 원인은 node를lts/gallium(16.20.0)로 구성하여 사용했으나, nvm의 기본 node default 버전이 lts/* -> lts/hydrogen (v18.16.0)로 설정되어 있었다.

문제 해결을 위해 SSH에 접속하여, Node 버전을 lts/gallium(16.20.0)로 변경하여 pm2를 사용해보았고, 이 경우에는 문제가 해결되었다.


가설

*nvm 으로 버전 별로 global로 설치된 npm package 구성이 달라지지 않을까라는 예상

가설 검증

  1. 우선, @lts/gallium 버전으로 pm2를 다운받아 사용하고 있으므로, 새로운 node 버전(lts/fermium 14.21.3)을 다운 받는다.

  1. lts/fermium 환경에서 pm2를 사용할 수 있는지 체크한다.

  2. lts/gallium에서 확인한다

  3. 더블 체크를 위해 lts/fermium 환경에서 pm2를 설치하고 pm2 명령어로 확인한 후 삭제해본다.

  4. lts/gallium에서 pm2를 실행시킨다.


문제 해결 방법

내가 사용하려 한 lts/gallium버전을 default 버전으로 설정한다.

설정 명령어는 다음과 같다.

nvm alias default lts/gallium


가설이 100%라고 판단하기는 이르지만, 문제 자체의 해결법은 알아냈다.

혹시 이 글을 보는 사람들 중에, 나누고 싶은 정보가 있다면 꼭 알려주시길 바란다 ㅠㅠ 제발.

nvm의 구동 방식을 파악하면 정확한 원인을 알 수 있겠지....

profile
인생의 디테일을 추가하는 심채원

0개의 댓글