nvm-sh/nvm
Shell0 / 0
POSIX 쉘에서 여러 Node.js 버전을 설치·전환하고 .nvmrc로 프로젝트별 버전을 고정하는 CLI 도구입니다.
TL;DR
nvm은 Node.js용 standalone CLI 버전 관리자이며 특정 버전을 사용자별 쉘 환경에 설치하고 PATH를 바꿔 활성화합니다. 설치 스크립트는 저장소를 ~/.nvm에 배치하고 bash나 zsh 프로필에서 nvm.sh를 source하도록 구성합니다. .nvmrc와 lts/* 별칭으로 프로젝트별 버전을 지정할 수 있고, 전역 npm 패키지 이전과 캐시 기반 오프라인 설치도 지원합니다. 다만 Fish는 공식 지원 대상이 아니며 Alpine Linux에서는 musl과 사전 빌드 바이너리의 호환성 때문에 소스 빌드가 필요할 수 있습니다.
핵심 포인트
- nvm은 Node.js 버전을 사용자별·쉘별로 설치하고 전환하는 standalone CLI 도구입니다. POSIX 호환 쉘인 bash, zsh, dash, ksh와 Unix, macOS, WSL 환경에서 동작합니다. Fish는 공식 지원 대상이 아니므로 별도 플러그인이나 대체 도구가 필요합니다.
- 설치 스크립트가 nvm을 ~/.nvm에 내려받고 쉘 프로필에 source 설정을 추가합니다. nvm install, use, run, exec, which 명령으로 특정 Node.js 버전을 설치하거나 해당 버전으로 명령을 실행합니다. 바이너리 다운로드가 실패하면 -s 옵션으로 소스 컴파일을 선택할 수 있습니다.
- 프로젝트 루트의 .nvmrc에 버전이나 lts/*를 적으면 nvm use, install, which가 상위 디렉터리까지 파일을 찾아 해당 버전을 사용합니다. 디렉터리 이동 때 자동 전환하려면 README의 bash·zsh 쉘 함수를 프로필에 추가해야 합니다. 자동 전환은 기본 기능이 아니라 사용자가 쉘 설정을 직접 적용하는 방식입니다.
- 이미 설치한 Node.js 사이에서 전역 npm 패키지를 --reinstall-packages-from 또는 reinstall-packages로 옮길 수 있습니다. --offline은 캐시된 다운로드와 로컬 버전만 사용하며, 설치 중 동일 버전에 대한 잠금으로 여러 쉘의 충돌을 막습니다. Alpine Linux에서는 musl 호환 바이너리 문제로 일반 설치 대신 필요한 빌드 도구와 소스 컴파일이 필요합니다.
95k
STARS
10.4k
FORKS
+22
TRENDING
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.