Node Version Manager (NVM)은 여러 nodejs 버전을 쉽게 관리하고 전환할 수 있게 해주는 도구
등장 배경
- npm으로 설치한 한 가지 node 버전만으로 모든 프로젝트를 실행하려고 하면 정확한 실행 결과를 얻지 못할 수 있다.
- 예를 들어 내가 사용하고 있는 버전은 10인데 A 프로젝트는 node 17버전을 요구한다면 에러가 발생할 수 있다.
- 실무에서 여러 프로젝트를 작업하기 때문에 이때마다 node 버전을 삭제하고 새로 설치하는 것은 번거롭다.
- 여러 버전을설치한다고 해도 node 버전 각각에 독립적인 글로벌 모듈 설치 공간이 필요하다.
- nvm은 위의 문제를 모두 해결하여 각 프로젝트 별로 다른 node 버전으로 실행할 수 있다.
설치
Window
https://github.com/coreybutler/nvm-windows
Linux and Mac
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
또는
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
위 스크립트를 실행하면 npm repository를 ~/.nvm에 복제한다.
또한 NVM 설정이 프로필 파일에 자동으로 zsh을 사용하면 ~/.zshrc에, bash를 사용하면 ~/.bash_profile에 추가된다.
만약 nvm command not found 같은 에러가 발생한다면 수동으로 추가한다.
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
설정을 reload한다
source ~/.bashrc
# 또는
source ~/.zshrc
사용법
설치 되어 있는 nodejs 버전 리스트 확인
nvm list
nodejs 특정 버전 설치
nvm install 20.0.0
LTS 설치
nvm install lts
nodejs 버전 변경하기
nvm use 20.18.0