NVM은 Node.js Version Manager의 약자로, Node.js의 여러 버전을 설치하고 관리할 수 있게 도와주는 도구이다
NVM이 필요한 이유
- 프로젝트별 Node.js 버전 관리: 여러 프로젝트를 진행하다 보면 각 프로젝트에서 사용하는 Node.js 버전이 다를 수 있는데, NVM을 사용하면 프로젝트별로 필요한 Node.js 버전을 간편하게 전환하며 사용할 수 있다.
- Node.js 버전 충돌 방지: 여러 버전의 Node.js를 설치하여 사용하면 버전 충돌이 발생할 수 있다. NVM은 이러한 충돌을 방지하고 안정적인 개발 환경을 제공한다.
- 간편한 Node.js 버전 업데이트: NVM을 사용하면 Node.js의 최신 버전을 간편하게 설치하고 업데이트할 수 있다.
NVM 사용 방법
- NVM 설치: NVM 공식 GitHub 페이지(https://github.com/nvm-sh/nvm)에서 설치 스크립트 혹은 https://github.com/coreybutler/nvm-windows/releases 에서 nvm.exe 설치 파일을 다운로드 받고 설치한다. 설치 후에는 명령프롬프트에서 nvm --version 명령어를 통해 설치를 확인한다.
- Node.js 설치: nvm list available 명령어를 사용하여 원하는 Node.js 버전을 확인 후, nvm install <version>명령어를 통해 설치한다.
- Node.js 버전 전환: nvm use <version> 명령어를 사용하여 사용할 Node.js 버전을 전환한다. 예를 들어, nvm use v22.14.0를 입력하면 Node.js 22.14.0 버전이 활성화된다.
- 설치된 Node.js 버전 확인: nvm list 명령어를 사용하여 설치된 Node.js 버전 목록을 확인 할 수 있다.
NVM 사용 예시
CMD
# Node.js 설치 가능 버전 확인
nvm list available
| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 23.8.0 | 22.14.0 | 0.12.18 | 0.11.16 |
| 23.7.0 | 22.13.1 | 0.12.17 | 0.11.15 |
| 23.6.1 | 22.13.0 | 0.12.16 | 0.11.14 |
| 23.6.0 | 22.12.0 | 0.12.15 | 0.11.13 |
| 23.5.0 | 22.11.0 | 0.12.14 | 0.11.12 |
| 23.4.0 | 20.18.3 | 0.12.13 | 0.11.11 |
| 23.3.0 | 20.18.2 | 0.12.12 | 0.11.10 |
| 23.2.0 | 20.18.1 | 0.12.11 | 0.11.9 |
| 23.1.0 | 20.18.0 | 0.12.10 | 0.11.8 |
| 23.0.0 | 20.17.0 | 0.12.9 | 0.11.7 |
| 22.10.0 | 20.16.0 | 0.12.8 | 0.11.6 |
| 22.9.0 | 20.15.1 | 0.12.7 | 0.11.5 |
| 22.8.0 | 20.15.0 | 0.12.6 | 0.11.4 |
| 22.7.0 | 20.14.0 | 0.12.5 | 0.11.3 |
| 22.6.0 | 20.13.1 | 0.12.4 | 0.11.2 |
| 22.5.1 | 20.13.0 | 0.12.3 | 0.11.1 |
| 22.5.0 | 20.12.2 | 0.12.2 | 0.11.0 |
| 22.4.1 | 20.12.1 | 0.12.1 | 0.9.12 |
| 22.4.0 | 20.12.0 | 0.12.0 | 0.9.11 |
| 22.3.0 | 20.11.1 | 0.10.48 | 0.9.10 |
# Node.js 22.14.0 버전 설치
nvm install v22.14.0
# Node.js 22.14.0 버전 사용
nvm use v22.14.0
# 현재 사용 중인 Node.js 버전 확인
node -v
v22.14.0
# 설치된 Node.js 버전 목록 확인
nvm list
* 22.14.0 (Currently using 64-bit executable)