-
NVM으로 Node.js 버전 바꾸기Build/Etc. 2024. 3. 3. 14:18
개인 노트북에서 급하게 업무를 보게 되었는데 작업을 해야 할 프로젝트 환경은 Node 16버전에 맞춰져 있었고 개인 환경은 현재 Node LTS 버전인 20버전을 사용하다 보니 packge dependency 설치에 오류가 발생했습니다.
그래서 NVM에 대해 찾아보고 설치하여 맞는 Node 버전으로 스위칭하여 업무를 할 수 있었습니다. 이번 기회에 간단하게 NVM에 대해 알아보겠습니다.
NVM?
NVM은 Node Version Manager로 command line을 통해 원하는 Node 버전으로 설치할 수 있습니다. 또한 설치된 Node 버전에 따라 npm 버전도 따라서 설치됩니다.
NVM 설치 및 적용
Window에서 설치 방법
해당 nvm-widows github에서 nvm-setup.exe을 다운로드 후 설치를 진행합니다.
Mac에서 설치 방법
아래 command line으로 nvm을 설치합니다.
# nvm 설치 sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.7/install.sh | bash # 설치 후 설치 확인을 위한 nvm 명령어(nvm으로 설치된 node 버전 확인) 입력 nvm ls
※ bash 쉘 기준에서 해당 오류가 뜬다면? ⇒ -bash: nvm: command not found
# bash_profile vi 에디터 접근 vi ~/.bash_profile # vi 에디터에서 해당 코드가 없을 경우 추가 후 저장 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm # source ~/.bash_profile # 재확인 nvm ls
※ zsh 쉘 기준에서 해당 오류가 뜬다면? ⇒ zsh: command not found: nvm
# zshrc vi 에디터 접근 vi ~/.zshrc # vi 에디터에서 해당 코드가 없을 경우 추가 후 저장 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm # source ~/.zshrc # 재확인 nvm ls
설치 및 설정이 완료되었다면 아래와 같이 확인할 수 있습니다.
-> system node -> stable (-> N/A) (default) iojs -> N/A (default)
설치 관련하여 nvm github에서 자세하게 확인할 수 있습니다.
Node 버전 적용
원하는 Node 버전으로 설치하기 위해 해당 명령어를 통해 실행합니다.
# nvm install <설치할 Node 버전> % nvm install 16 Now using node v16.20.2 (npm v8.19.4) % node -v v16.20.2 # 특정 버전 Node 설치 % nvm install 18.12.0 Now using node v18.12.0 (npm v8.19.2) % node -v v18.12.0 # nvm use <사용할 Node 버전> % nvm use 16 Now using node v16.20.0 (npm v8.19.4) % node -v v16.20.0 % nvm use 20 Now using node v20.11.1 (npm v10.2.4) % node -v v20.11.1
메이저 버전만 명시할 경우 메이저 버전의 LTS 버전으로 설치됩니다. 명령어 관련 내용도 nvm github에서 자세하게 확인할 수 있습니다.
마무리
따로 개발 환경이 셋팅된 VM이나 도커에서 개발을 진행하면 호스트의 Node 버전에 영향이 없어서 상관이 없겠지만 그렇지 못할 경우 NVM을 이용하면 원하는 Node와 npm 버전으로 쉽게 셋팅할 수 있어서 좋았습니다. Node 버전을 바꿔야 하는 상황이 있다면 NVM을 이용해 보는 것도 좋겠습니다.
참고 자료
https://gist.github.com/falsy/8aa42ae311a9adb50e2ca7d8702c9af1