레거시 프로젝트는 Node 16, 신규 프로젝트는 Node 20을 요구하는데, 매번 Node.js를 재설치해야 할까요?

NVM(Node Version Manager) 은 하나의 시스템에서 여러 버전의 Node.js를 설치하고 자유롭게 전환할 수 있게 해주는 도구입니다.


NVM이 필요한 이유

프로젝트마다 요구하는 Node.js 버전이 다른 경우가 많습니다. 예를 들어 레거시 프로젝트는 Node 16을, 신규 프로젝트는 Node 20을 사용할 수 있습니다. Node.js를 직접 설치하면 시스템 전체에 하나의 버전만 유지되므로, 프로젝트를 전환할 때마다 Node.js를 재설치해야 합니다.

NVM을 사용하면 다음과 같은 이점이 있습니다.

장점설명
다중 버전 관리nvm install로 여러 버전을 설치하고, nvm use로 즉시 전환합니다
** 프로젝트별 버전 고정**.nvmrc 파일로 프로젝트에 필요한 Node.js 버전을 명시할 수 있습니다
** 권한 문제 해소**홈 디렉터리에 설치되므로 sudo 없이 글로벌 패키지를 관리할 수 있습니다

설치 방법

** 사전 조건 **: Homebrew가 설치되어 있어야 합니다. 설치 방법은 Homebrew 설치하기를 참고하세요.

1. Homebrew로 NVM 설치

SHELL
brew install nvm

2. .zshrc 환경 변수 설정

NVM이 정상적으로 동작하려면 쉘 시작 시 NVM 스크립트를 로드해야 합니다. ~/.zshrc 파일에 아래 내용을 추가합니다.

SHELL
# NVM 디렉터리 생성 (최초 1회)
mkdir -p ~/.nvm

# .zshrc에 NVM 설정 추가
vi ~/.zshrc

~/.zshrc 파일에 아래 내용을 추가합니다.

SHELL
# NVM 설정
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"                                       # nvm 로드
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"   # nvm 자동완성 로드

** 각 줄이 하는 일 **:

  • NVM_DIR: NVM이 Node.js 버전들을 저장할 디렉터리를 지정합니다.
  • 첫 번째 [ -s ... ]: Homebrew로 설치된 NVM 스크립트가 존재하면 로드합니다. 이 스크립트가 nvm 명령어를 사용할 수 있게 만들어 줍니다.
  • 두 번째 [ -s ... ]: NVM 명령어의 탭 자동완성 기능을 활성화합니다.

설정을 저장한 후 터미널을 새로 열거나 아래 명령어를 실행합니다.

SHELL
source ~/.zshrc

3. 설치 확인

SHELL
nvm -v
PLAINTEXT
0.40.1

버전 번호가 출력되면 정상적으로 설치된 것입니다.


자주 사용하는 명령어

명령어설명
nvm install <버전>특정 버전의 Node.js를 설치합니다 (예: nvm install 20)
nvm install --lts최신 LTS 버전을 설치합니다
nvm use <버전>현재 쉘에서 사용할 Node.js 버전을 전환합니다
nvm alias default <버전>새 터미널을 열 때 기본으로 사용할 버전을 지정합니다
nvm ls설치된 Node.js 버전 목록을 확인합니다
nvm ls-remote설치 가능한 모든 Node.js 버전을 확인합니다
nvm current현재 사용 중인 Node.js 버전을 확인합니다

사용 예시

SHELL
# Node.js 20 LTS 설치
nvm install 20

# Node.js 18로 전환
nvm use 18

# 기본 버전을 20으로 설정
nvm alias default 20

# 현재 버전 확인
node -v

주의할 점

새 터미널에서 nvm: command not found

~/.zshrc에 NVM 스크립트 로드 설정을 추가하지 않으면, 터미널을 새로 열 때마다 nvm 명령어를 찾지 못합니다. source ~/.zshrc를 실행하거나, 파일에 설정이 정상 추가되었는지 확인합니다.

nvm use는 현재 셸에서만 적용

nvm use 18로 버전을 전환해도 새 터미널에서는 기본 버전으로 돌아갑니다. 영구적으로 변경하려면 nvm alias default 18로 기본 버전을 지정해야 합니다.


정리

항목설명
설치brew install nvm + .zshrc 설정 추가
버전 설치nvm install <버전> 또는 nvm install --lts
버전 전환nvm use <버전> (현재 셸만)
기본 버전 설정nvm alias default <버전> (영구)
프로젝트별 고정.nvmrc 파일 사용
댓글 로딩 중...