Node 버전 관리하기 (NVM)

dodo·2025년 2월 13일

버전 관리의 필요성

여러 명이 협업하는 회사에서는 개발 환경이 통일되지 않으면 문제 발생 가능성이 커집니다.
특히, 같은 프로젝트에서도 다른 개발자가 다른 Node.js 버전을 사용하면, 패키지 설치 및 실행 시 오류가 발생할 수 있습니다.

이를 해결하는 대표적인 방법이 NVM입니다. (Node Version Manager)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.zshrc
nvm --version

명령어

명령어 설명
nvm install <버전> 특정 버전의 Node.js 설치
nvm list 설치된 Node.js 버전 목록 확인
nvm use <버전> 특정 버전의 Node.js 사용
nvm alias default <버전> 기본으로 사용할 Node.js 버전 설정
nvm current 현재 사용 중인 Node.js 버전 확인
nvm uninstall <버전> 특정 Node.js 버전 삭제
nvm deactivate NVM 환경에서 벗어나 기본 Node.js로 전환

버전 관리

각 프로젝트별로 고정된 Node.js 버전을 유지하려면, 프로젝트 폴더에 .nvmrc 파일을 생성하면 됩니다.
echo "16.20.0" > .nvmrc

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

autoload -U add-zsh-hook
load_nvmrc() {
    if [[ -f .nvmrc ]]; then
        nvm use
    fi
}
add-zsh-hook chpwd load_nvmrc

위 스크립트를 넣어주면 디렉토리 변경 시 자동으로 nvm이 사용됩니다.

원리

NVM은 Node.js를 각 버전별로 ~/.nvm 디렉토리에 저장합니다.
따라서 $ which node 명령어를 실행하면 현재 사용 중인 Node.js 버전이 어느 경로에 있는지 확인할 수 있습니다.

NVM을 사용하면 npm -g install 명령어를 실행해도 각 Node.js 버전별로 글로벌 패키지를 따로 관리할 수 있습니다.

npm root -g

에서 보이는 폴더입니다.

npm init -y

를 하면 package.json 파일 생성.
이렇게 하면 해당 폴더에서 node_modules가 생성되어서 또 분리가 가능합니다.


로컬 환경에서는 NVM을 사용하여 버전을 관리하면 좋지만, 보다 확실한 방법은 Docker를 사용하는 것입니다.
Docker를 활용하면 각 프로젝트별로 격리된 Node.js 환경을 유지할 수 있습니다.

다음 포스팅에서는 Docker를 이용한 Node.js 버전 관리 방법을 소개하겠습니다.

profile
토스에서 iOS 개발자로 일하고 있습니다. 개발자로서 사용성이 좋은 앱을 만드는 것과, 개발자의 생산성을 올리는 방법에 관심이 많습니다.

0개의 댓글