NVM 설치 | Mac Silicon Node 버전 관리 가이드

1) 개요 및 정의

NVM(Node Version Manager) 은 여러 Node.js 버전을 손쉽게 설치하고 전환할 수 있는 CLI 도구입니다.
프로젝트마다 Node 버전이 다르더라도 충돌 없이 관리할 수 있습니다.


2) 왜 필요한가?

  • 프로젝트별 Node 버전 충돌 방지
  • 빌드 환경 테스트 시 빠른 버전 전환
  • 글로벌 패키지와 격리된 안전한 환경 구성

💡 실무에서는 React, Vue, NestJS 같은 프레임워크별 Node 버전 호환 문제를 쉽게 해결하기 위해 필수입니다.


3) Intel vs Apple Silicon 차이

항목Intel MacApple Silicon (M1/M2/M3)
아키텍처x86_64arm64
설치 방식동일동일 (Rosetta 불필요)
Node 빌드x64ARM 자동 선택

💡 Apple Silicon에서는 NVM이 자동으로 ARM용 Node를 설치합니다.


4) 설치 전 확인

기본 쉘은 zsh이며, 설정 파일은 ~/.zshrc 입니다.


5) NVM 설치

방법 A – curl (추천)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

방법 B – wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

⚠️ 설치 후 Terminal을 새로 열거나, 아래처럼 프로필을 다시 로드해야 명령이 동작합니다.


6) 환경 변수 등록

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

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

변경 내용 적용:

source ~/.zshrc

7) Node.js 설치 및 전환

# LTS 버전 설치
nvm install --lts

# 최신 버전 설치
nvm install node

# 특정 버전 설치
nvm install 18.17.0

# 버전 전환
nvm use 18
node -v

8) 자동 전환 (폴더 이동 시)

autoload -U add-zsh-hook
load-nvmrc() {
  if [[ -f .nvmrc && -r .nvmrc ]]; then
    nvm use > /dev/null
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc

💡 프로젝트 루트에 .nvmrc 파일을 만들어두면, 폴더 이동 시 자동으로 Node 버전이 전환됩니다.


9) 요약

항목내용
설치`curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh
프로필~/.zshrc 수정
Node 설치nvm install --lts
전환nvm use <버전>
기본 지정nvm alias default <버전>

정리:
NVM은 Mac Silicon에서도 완벽히 동작하며,
프로젝트별 Node 버전 격리와 전환을 단 몇 초 만에 처리합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다