Node.js 버전을 명령어 한 줄로 관리
nvm은 Node.js의 여러 버전을 쉽게 설치하고 전환할 수 있도록 돕는 도구입니다.
프로젝트별로 .nvmrc 파일을 사용하여 Node.js 버전을 자동 관리할 수 있어 개발 환경의 일관성을 유지합니다.
다양한 운영체제(macOS, Linux, WSL) 및 개발 환경(Docker, Alpine Linux)에서 문제 해결 가이드를 제공합니다.
다양한 설치 방법 및 환경 설정
nvm은 curl 또는 wget 명령어를 통해 설치 스크립트를 실행하여 설치한다. 설치 스크립트는 `~/.bashrc`, `~/.zshrc` 등 쉘 프로파일에 nvm 관련 설정을 추가한다. Docker 환경에서는 `BASH_ENV` 변수를 사용하여 비대화형 쉘에서도 nvm을 사용할 수 있도록 설정하며, Alpine Linux에서는 필요한 패키지를 설치한 후 nvm을 설치해야 한다.
.nvmrc 파일 활용을 통한 자동 버전 관리
프로젝트 루트 디렉토리에 `.nvmrc` 파일을 생성하여 Node.js 버전을 지정하면, `nvm use`, `nvm install` 등의 명령 실행 시 해당 버전을 자동으로 사용한다. .nvmrc 파일의 내용은 정확히 하나의 버전 번호여야 하며, 주석이나 공백은 무시된다. `npx nvmrc` 명령어를 통해 `.nvmrc` 파일의 유효성을 검사할 수 있다.
Alpine Linux 환경에서의 설치 및 주의사항
Alpine Linux는 musl 기반으로, 일반적인 Linux 배포판과 다른 C/C++ 스택을 사용하므로, Alpine Linux용 바이너리를 직접 설치해야 한다. `apk add` 명령어를 사용하여 필요한 패키지를 설치한 후, nvm을 설치해야 한다. Alpine Linux 버전별로 지원하는 Node.js 버전이 다르므로, 설치 전에 호환성을 확인해야 한다.
macOS 및 WSL 환경에서의 문제 해결
macOS에서는 Xcode Command Line Tools 설치 여부를 확인해야 하며, zsh 사용 시 `.zshrc` 파일, bash 사용 시 `.bash_profile` 또는 `.bashrc` 파일에 nvm 설정을 추가해야 한다. Apple Silicon 칩을 사용하는 Mac에서는 Rosetta를 사용하여 x86_64 아키텍처용 Node.js를 실행할 수 있다. WSL 환경에서는 네트워크 문제 발생 시 resolv.conf 파일을 수정하여 해결할 수 있다.