nvm-sh/nvm
Node.js 버전 관리자 nvm, 여전히 활발한 개발
원제 nvm-sh/nvm
스타 95,556당일 +181Shell
Key Point
Node.js 개발 환경 구축의 첫 번째 단계인 버전 관리를 자동화하며, 프로젝트별 버전 강제, 패키지 마이그레이션, 오프라인 설치 등 실무 필요 기능이 모두 들어있다.
핵심 요약
- nvm은 POSIX 호환 bash 스크립트로 여러 Node.js 버전을 손쉽게 설치하고 전환할 수 있는 버전 관리자다.
- cURL이나 wget 명령으로 한 줄로 설치 가능하며, 설치 스크립트가 ~/.nvm에 저장소를 복제하고 쉘 설정 파일을 자동 수정한다.
- bash, zsh, ksh, dash 등 POSIX 호환 셸에서 작동하며 macOS, Linux, Windows WSL을 지원한다.
- nvm install, nvm use, nvm ls 등의 명령으로 특정 버전 설치, 버전 전환, 설치된 버전 확인이 가능하다.
- 특정 버전 설치 시 npm 전역 패키지를 이전 버전에서 자동 마이그레이션하는 --reinstall-packages-from 옵션을 제공한다.
- .nvmrc 파일을 프로젝트에 두면 해당 디렉토리에 진입할 때 자동으로 지정 버전을 활성화하도록 셸을 설정할 수 있다.
- LTS 버전은 lts/*, lts/argon 같은 별칭으로 참조 가능하며, nvm install --lts로 최신 LTS 버전을 설치할 수 있다.
- 오프라인 모드(--offline)로 이미 다운로드된 버전을 네트워크 없이 설치하거나, $NVM_DIR/default-packages 파일에 기본 패키지 목록을 둬서 자동 설치할 수 있다.
- Node 바이너리 미러를 $NVM_NODEJS_ORG_MIRROR 환경변수로 지정하거나, io.js 설치도 지원한다.
- Docker에서 사용할 때는 비상호작용 셸을 위해 BASH_ENV 변수를 설정하거나 CI/CD용 예제 Dockerfile을 참고할 수 있다.
- macOS에서는 Xcode 명령줄 도구를 먼저 설치해야 하고, Apple Silicon은 Node.js v16.0.0 이상에서 arm64 지원을 시작했다.
- Windows에서는 WSL, Git Bash, Cygwin 등으로 작동하며, Windows 전용으로는 nvm-windows, nodist, nvs 같은 대안이 있다.
저장소 보기 ↗github.com