
node -v
노드 버전 확인결과, v20.14.0 으로 확인되었다.
현재 프로젝트에서는 18버전으로 진행해야하므로 버전을 바꿔보자.
이를 위해 nvm (Node Version Manager) 설치하면 편하다!
nvm -v
확인해서 버전이 나오면 OK
버전값이 안 나오면 설치해야 한다.
💡 nvm이 무엇인가?
- Node Version Manager
- 말 그대로 Node.js 버전을 여러 개 깔아놓고, 필요할 때마다 바꿔 쓰게 해주는 도구야.
- 예: 프로젝트 A는 18, 프로젝트 B는 20 써야 할 때
nvm use 18,nvm use 20이런 식으로 전환 가능.
맥은 기본이 보통 zsh야.
echo $SHELL
/bin/zsh → zsh 사용 중 → .zshrc 설정/bin/bash → bash 사용 중 → .bashrc 설정대부분 요즘 맥은 /bin/zsh 나올 거야.
터미널에서 아래 명령어 실행
brew install nvm
설치가 완료되면 brew가 이런 식으로 메시지를 줄 수도 있는데 그게 바로 .zshrc / .bashrc에 넣으라는 내용이야.
Add the following to your profile: ...
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to your shell profile e.g. ~/.profile or ~/.zshrc:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
mkdir -p ~/.nvm
p는 “이미 있어도 에러 내지 말고 그냥 넘어가” 옵션.💡.zshrc / .bashrc가 하는 일
- 둘 다 “쉘 시작할 때 자동으로 읽는 설정 파일”이야.
- 터미널을 새로 열면:
- zsh 쓰는 경우 →
~/.zshrc내용 자동 실행- bash 쓰는 경우 →
~/.bashrc내용 자동 실행- 보통 여기에
-PATH설정
- alias (예:alias ll='ls -al')
- 각종 툴 초기화 코드 (nvm, pyenv, rbenv 등) 를 넣어.
👉 즉, “터미널 켤 때마다 매번 손으로 치기 귀찮은 설정들을 모아두는 곳”이라고 생각하면 됨.
zsh를 쓰는 경우 (~/.zshrc 수정)
vim ~/.zshrc
파일 맨 아래에 아래 내용 추가:
export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh
NVM_DIR → nvm이 설치된/설치될 디렉토리를 환경 변수로 알려주는 역할source $(brew --prefix nvm)/nvm.sh → “nvm 기능을 현재 쉘에서 사용할 수 있게 스크립트를 불러온다”는 뜻 → 이 줄이 있어야 nvm 명령이 인식돼.수정 끝나면 esc → :wq!로 저장 & 종료.
그리고 변경사항을 지금 쉘에 반영:
source ~/.zshrc
nvm -v
예를 들어:
0.40.3
이런 식으로 버전이 나오면 성공 🎉
이제 Node 18 설치 가능!
nvm install 18
nvm use 18
node -v # v18.x.x 나오면 OK
한 줄로 말하면:
터미널이 켜질 때마다 nvm을 자동으로 사용할 수 있게 “초기 설정을 등록하는 파일”이라서.
조금 길게 말하면:
source 하기 귀찮으니까~/.zshrc 또는 ~/.bashrc에 “이 스크립트 불러와!”라고 써두는 것nvm 명령이 항상 준비 완료 상태가 됨