Node 버전 관리하기 (NVM)

dodo·2025년 2월 13일
0

버전 관리의 필요성

여러 명이 협업하는 회사에서는 개발 환경이 통일되지 않으면 문제 발생 가능성이 커집니다.
특히, 같은 프로젝트에서도 다른 개발자가 다른 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개의 댓글