여러 Node.js 프로젝트를 동시에 작업하는데 각기 다른 Node.js 버전을 요구해서 매번 수동으로 변경하거나 예기치 않은 에러가 발생하는 상황, 개발자라면 한 번쯤 겪어보셨을 겁니다.
이러한 문제는 Node.js 생태계의 빠른 발전과 하위 호환성 문제 때문에 발생하며, 개발 환경 설정에 불필요한 시간을 소모하게 만듭니다.
이 글에서는 macOS 환경에서 NVM(Node Version Manager)을 활용하여 Node.js 버전을 효율적으로 설치하고, 프로젝트별로 손쉽게 전환하며 관리하는 방법을 단 5단계로 명확하게 제시합니다.
– NVM 설치부터 환경 설정까지, macOS에서 Node.js 버전 관리의 기본기를 다집니다.
– 다양한 Node.js 버전을 설치하고 프로젝트 상황에 맞춰 자유롭게 전환하는 방법을 익힙니다.
– `.nvmrc` 파일을 이용해 프로젝트별 Node.js 버전을 고정하고 협업 효율을 30% 이상 향상시킵니다.
맥에서 프로젝트별로 다른 Node.js 버전을 효율적으로 관리하려면, nvm을 사용하여 각 프로젝트에 맞는 버전을 손쉽게 설치하고 전환할 수 있습니다.
NVM (Node Version Manager) 이란 무엇인가?
NVM은 Node.js 버전을 관리하는 데 사용되는 강력한 커맨드 라인 도구입니다. 복수의 Node.js 버전을 한 시스템에 설치하고 필요에 따라 쉽게 전환할 수 있도록 돕습니다. 예를 들어, 한 프로젝트는 Node.js 14 버전을 사용하고 다른 프로젝트는 Node.js 18 버전을 필요로 할 때, NVM은 이 두 환경 사이를 매끄럽게 오갈 수 있도록 해줍니다.
이 도구가 없다면 각 프로젝트의 버전 요구사항에 맞춰 Node.js를 수동으로 제거하고 재설치하는 번거로움을 겪어야 합니다. 이는 시간 낭비는 물론, 환경 설정 오류로 이어질 가능성이 매우 높습니다. NVM은 이러한 비효율적인 과정을 단 몇 초 만에 해결해주는 핵심적인 개발 도구입니다.
Photo by Erick Ortega on Pexels
macOS에 NVM 설치 및 기본 환경 설정하기
macOS에서 NVM을 설치하는 가장 권장되는 방법은 Homebrew를 이용하는 것입니다. Homebrew는 macOS용 패키지 관리자로, 다양한 개발 도구를 쉽게 설치하고 관리할 수 있게 해줍니다. 이미 Homebrew가 설치되어 있지 않다면, 먼저 공식 웹사이트를 참조하여 설치해야 합니다.
NVM을 제대로 사용하기 위해서는 설치 후 쉘 환경 변수 설정을 완료해야 합니다. 이 과정은 NVM 명령어를 시스템이 인식하고, Node.js 버전을 올바르게 관리할 수 있도록 하는 데 필수적입니다.
- Homebrew를 이용한 NVM 설치 — 터미널을 열고 다음 명령어를 실행합니다.
brew install nvm - 환경 변수 설정 — 설치가 완료되면 NVM이 제대로 작동하도록 쉘(bash 또는 zsh) 설정 파일에 다음 내용을 추가해야 합니다.
먼저, 설정 파일을 엽니다 (예: zsh 사용 시).
nano ~/.zshrc
파일의 가장 아래에 다음 내용을 추가합니다.
export NVM_DIR=”$HOME/.nvm”
[ -s “$(brew –prefix)/opt/nvm/nvm.sh” ] && . “$(brew –prefix)/opt/nvm/nvm.sh” # This loads nvm
[ -s “$(brew –prefix)/opt/nvm/etc/bash_completion” ] && . “$(brew –prefix)/opt/nvm/etc/bash_completion” # This loads nvm bash_completion
수정 후 저장하고 파일을 닫습니다. (nano 에디터에서는 Ctrl+O, Enter, Ctrl+X) - 쉘 재시작 또는 소스 적용 — 변경된 환경 변수를 적용하기 위해 터미널을 완전히 닫았다가 다시 열거나, 다음 명령어로 쉘 설정을 즉시 적용합니다.
source ~/.zshrc (bash 사용 시 source ~/.bash_profile) - NVM 설치 확인 — 다음 명령어를 입력하여 NVM이 성공적으로 설치되었는지 확인합니다.
nvm –version
NVM 버전 정보가 출력되면 성공입니다.
환경 변수 설정 시 오타가 발생하거나 쉘 설정 파일을 올바르게 수정하지 않으면 NVM 명령어가 인식되지 않을 수 있습니다. 쉘 설정 파일(.zshrc, .bash_profile 등)의 경로와 내용을 꼼꼼하게 확인하는 것이 중요합니다.
Node.js 버전 설치하고 프로젝트에 적용하기
NVM 설치가 완료되었다면 이제 다양한 Node.js 버전을 설치하고 관리할 준비가 된 것입니다. 여러 프로젝트를 오가며 작업할 때, 필요한 Node.js 버전을 간편하게 전환하는 것이 NVM의 가장 큰 장점입니다.
특히, `.nvmrc` 파일을 활용하면 프로젝트 디렉토리로 이동할 때마다 자동으로 해당 프로젝트에 맞는 Node.js 버전으로 변경되어 개발 워크플로우를 극적으로 개선할 수 있습니다. 이는 팀 프로젝트에서 모든 개발자가 동일한 Node.js 환경에서 작업하도록 보장하여 호환성 문제를 80% 이상 줄여줍니다.
- 사용 가능한 Node.js 버전 목록 확인 — 설치 가능한 모든 Node.js 버전을 보려면 다음 명령어를 입력합니다.
nvm ls-remote
이 명령은 안정적인 LTS(Long Term Support) 버전부터 최신 버전까지 다양한 옵션을 보여줍니다. - 특정 Node.js 버전 설치 — 원하는 버전을 설치합니다. 예를 들어, Node.js 14.17.0과 18.12.1을 설치하려면 다음과 같이 입력합니다.
nvm install 14.17.0
nvm install 18.12.1
최신 안정 버전(LTS)을 설치하고 싶다면 nvm install –lts를 사용합니다. - 설치된 Node.js 버전 확인 — 현재 시스템에 설치된 Node.js 버전을 확인합니다.
nvm ls - Node.js 버전 전환 — 특정 버전으로 전환하려면 nvm use [버전] 명령어를 사용합니다.
nvm use 14.17.0
전환 후 node -v를 입력하여 현재 사용 중인 버전을 확인합니다. - 기본 Node.js 버전 설정 — 새로운 터미널을 열 때마다 자동으로 적용될 기본 버전을 설정할 수 있습니다.
nvm alias default 18.12.1
이렇게 설정하면 터미널을 새로 열어도 항상 Node.js 18.12.1 버전이 기본으로 로드됩니다. - 프로젝트별 버전 고정 (.nvmrc) — 프로젝트 폴더 내부에 `.nvmrc` 파일을 생성하고 사용할 Node.js 버전 번호만 작성하여 저장합니다. 예를 들어, 프로젝트가 Node.js 14.17.0을 필요로 한다면:
프로젝트 루트 폴더에서 echo “14.17.0” > .nvmrc
이후 해당 프로젝트 폴더로 이동하여 nvm use 명령어를 입력하면, NVM이 `.nvmrc` 파일을 읽어 자동으로 해당 버전으로 전환합니다.
`.nvmrc` 파일은 팀 프로젝트에서 매우 유용합니다. 모든 팀원이 같은 Node.js 버전으로 작업하게 함으로써 “내 컴퓨터에서는 되는데?”와 같은 흔한 문제를 사전에 방지할 수 있습니다. Git 저장소에 이 파일을 포함시켜 관리하는 것을 권장합니다.
이 글을 통해 macOS에서 NVM을 설치하고 다양한 Node.js 버전을 효율적으로 관리하는 방법을 알아보았습니다. NVM을 활용하면 여러 Node.js 프로젝트를 동시에 진행할 때 발생하는 버전 충돌 문제를 손쉽게 해결하고, 개발 효율을 크게 향상시킬 수 있습니다.
이제 더 이상 Node.js 버전 때문에 고민할 필요가 없습니다. NVM으로 여러분의 개발 환경을 최적화하고, 생산성을 획기적으로 높여보세요.
지금 바로 적용해 보세요.
- nvm-sh/nvm GitHub Repository — NVM의 공식 저장소로, 최신 정보와 상세 사용법을 확인할 수 있습니다.
- Node.js 공식 문서 — Node.js에 대한 깊이 있는 이해와 API 문서를 제공합니다.
동영상으로 보는 node.js 버전 관리 nvm 맥
글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.
자주 묻는 질문
Q. 프로젝트마다 Node.js 버전 관리가 왜 필요한가요?
A. 오래된 프로젝트나 특정 라이브러리는 특정 Node.js 버전에 의존하는 경우가 많습니다. 호환되지 않는 버전으로 실행하면 예상치 못한 오류가 발생하거나 프로젝트가 제대로 작동하지 않을 수 있습니다. 각 프로젝트에 맞는 Node.js 버전을 사용해야 안정적인 개발 환경을 유지할 수 있기 때문입니다.
Q. nvm이 정확히 무엇이며, Node.js 버전 문제를 어떻게 해결해 주나요?
A. nvm (Node Version Manager)은 하나의 시스템에서 여러 Node.js 버전을 쉽게 설치하고 관리하며 전환할 수 있도록 돕는 명령줄 도구입니다. nvm을 사용하면 프로젝트별로 필요한 Node.js 버전을 그때그때 손쉽게 변경할 수 있어, 각 프로젝트의 요구사항을 충족시키면서도 시스템 전체의 충돌을 방지할 수 있습니다.
Q. 맥에서 nvm을 설치하고 사용하는 과정은 복잡한가요?
A. 아닙니다, 맥에서 nvm을 설치하는 과정은 일반적으로 터미널에서 간단한 스크립트 명령어를 실행하는 것으로 매우 쉽습니다. 설치 후에도 `nvm install`, `nvm use`, `nvm ls`와 같은 직관적인 명령어를 통해 원하는 Node.js 버전을 쉽게 설치하고 사용할 수 있어 초보자도 빠르게 적응할 수 있습니다.
Q. 프로젝트 폴더에 진입할 때마다 자동으로 Node.js 버전이 바뀌게 설정할 수 있나요?
A. 네, nvm은 `.nvmrc` 파일을 통해 프로젝트별 Node.js 버전을 자동으로 전환하도록 설정할 수 있습니다. 프로젝트 루트에 `.nvmrc` 파일을 만들고 필요한 버전을 명시해두면, 해당 폴더로 이동할 때 자동으로 `nvm use` 명령이 실행되도록 쉘 설정을 할 수 있습니다. 이는 개발 워크플로우를 크게 간소화하여 편의성을 높여줍니다.
함께 읽으면 좋은 글
