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 구성이 달라지지 않을까라는 예상
@lts/gallium
버전으로 pm2를 다운받아 사용하고 있으므로, 새로운 node 버전(lts/fermium
14.21.3)을 다운 받는다.lts/fermium
환경에서 pm2
를 사용할 수 있는지 체크한다.
lts/gallium
에서 확인한다
더블 체크를 위해 lts/fermium
환경에서 pm2
를 설치하고 pm2 명령어로 확인한 후 삭제해본다.
lts/gallium
에서 pm2를 실행시킨다.
내가 사용하려 한 lts/gallium
버전을 default 버전으로 설정한다.
설정 명령어는 다음과 같다.
nvm alias default lts/gallium
가설이 100%라고 판단하기는 이르지만, 문제 자체의 해결법은 알아냈다.
혹시 이 글을 보는 사람들 중에, 나누고 싶은 정보가 있다면 꼭 알려주시길 바란다 ㅠㅠ 제발.
nvm의 구동 방식을 파악하면 정확한 원인을 알 수 있겠지....