NVM
Node Version Manager의 줄임말입니다.
말 그대로 Node의 Version 들을 관리 해주는 도구입니다.
여러 Node.js 를 설치 하고 달리 사용 해야 할 경우 쉽게 전환해주는 shell script입니다.
NVM 은 POSIX-compliant shell (sh, bash, ksh, zsh, dash)에서 작동합니다.
- Linux / Unix
- macOS
- Windows WSL
NVM은 왜 사용 할까요?
개발환경에 따라 Node.js 버전을 달리 사용 해야 할 경우에 용이하게 버전을 바꿔서 사용할 수 있게 도와줍니다. 예시로 아래와 추가 적인 상황이 있을 수 있습니다.
- 협업을 할때, 또는 다양한 프로젝트를 동시에 진행해야 할 때
- 다양한 라이브러리 / 프레임워크 / 개발툴의 버전 호환 문제때문에
- LTS(Long Time Support) 버전이 달라 졌을 경우
- 최신 버전을 사용해야 할 경우
- 과거 사용 했던 버전을 사용해야 할 경우
NVM 설치하기
최신버전을 다운 받기 원하면 NVM Repository(공식 문서) 참고 해주시길 바랍니다.
NVM 공식문서에서 제공한 install & update 를 도와 주는 script 문을 작성합니다.
curl 사용 할 경우
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
wget 사용 할 경우
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
위 2개 중 하나의 명령어를 입력 할 경우 2가지의 변화가 생깁니다.
- 현재 사용자의 홈 디렉토리에 .nvm 디렉토리가 생성됩니다.
chaser@DESKTOP-Q89E2CK:~$ pwd
/home/chaser
chaser@DESKTOP-Q89E2CK:~$ ls -a | grep .nvm
.nvm
- 쉘 설정 파일에 nvm 명령어 스크립트가 추가됩니다.
- 쉘의 종류에 따라 파일들이 다릅니다.(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc)
chaser@DESKTOP-Q89E2CK:~$ tail -n 3 .bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
.nvm 디렉토리
chaser@DESKTOP-Q89E2CK:~$ ls -la .nvm
total 300
drwxr-xr-x 8 chaser chaser 4096 Sep 1 13:37 .
drwxr-xr-x 9 chaser chaser 4096 Sep 1 21:45 ..
drwxr-xr-x 3 chaser chaser 4096 Sep 1 13:37 .cache
-rw-r--r-- 1 chaser chaser 140 Sep 1 13:36 .dockerignore
-rw-r--r-- 1 chaser chaser 523 Sep 1 13:36 .editorconfig
drwxr-xr-x 8 chaser chaser 4096 Sep 1 13:36 .git
-rw-r--r-- 1 chaser chaser 9 Sep 1 13:36 .gitattributes
drwxr-xr-x 3 chaser chaser 4096 Sep 1 13:36 .github
-rw-r--r-- 1 chaser chaser 253 Sep 1 13:36 .gitignore
-rw-r--r-- 1 chaser chaser 51 Sep 1 13:36 .mailmap
-rw-r--r-- 1 chaser chaser 19 Sep 1 13:36 .npmrc
-rw-r--r-- 1 chaser chaser 2713 Sep 1 13:36 .travis.yml
-rw-r--r-- 1 chaser chaser 5424 Sep 1 13:36 CODE_OF_CONDUCT.md
-rw-r--r-- 1 chaser chaser 1057 Sep 1 13:36 CONTRIBUTING.md
-rw-r--r-- 1 chaser chaser 3723 Sep 1 13:36 Dockerfile
-rw-r--r-- 1 chaser chaser 1113 Sep 1 13:36 LICENSE.md
-rw-r--r-- 1 chaser chaser 5361 Sep 1 13:36 Makefile
-rw-r--r-- 1 chaser chaser 39200 Sep 1 13:36 README.md
-rw-r--r-- 1 chaser chaser 882 Sep 1 13:36 ROADMAP.md
drwxr-xr-x 3 chaser chaser 4096 Sep 1 13:37 alias
-rw-r--r-- 1 chaser chaser 2201 Sep 1 13:36 bash_completion
-rwxr-xr-x 1 chaser chaser 14926 Sep 1 13:36 install.sh
-rwxr-xr-x 1 chaser chaser 344 Sep 1 13:36 nvm-exec
-rw-r--r-- 1 chaser chaser 134284 Sep 1 13:36 nvm.sh
-rw-r--r-- 1 chaser chaser 2228 Sep 1 13:36 package.json
-rwxr-xr-x 1 chaser chaser 1235 Sep 1 13:36 rename_test.sh
drwxr-xr-x 9 chaser chaser 4096 Sep 1 13:36 test
-rwxr-xr-x 1 chaser chaser 2364 Sep 1 13:36 update_test_mocks.sh
drwxr-xr-x 3 chaser chaser 4096 Sep 1 13:37 versions
공식문서에서 제공한 script 문을 작성 할 경우 nvm github(공식문서)에 있는 파일 들을 .nvm 디렉토리에 설치를 도와주고 따로 환경변수를 변경 하지 않아도 환경변수 값을 작성해줍니다.
NVM 명령어
자세한 명령어 확인하기
$ nvm --help
이는 NVM 공식문서(usage) 부분에서 확인 할 수 있습니다.
NVM Version 확인하기
$ nvm --version
Node 설치하기
# 최신버전 설치하기
$ nvm install node
# 특정 버전 설치하기
$ nvm install {version} # ex1) nvm istall v13 ex2) nvm istall 14.17.6
# LTS 버전 설치하기
$ nvm istall --lts
node를 설치 할 경우 다음과 같은 경로에 설치가 됩니다.
chaser@DESKTOP-Q89E2CK:~/.nvm/versions/node$ pwd
/home/chaser/.nvm/versions/node
chaser@DESKTOP-Q89E2CK:~/.nvm/versions/node$ ls
v14.17.6
NVM 에서 지원 하는 node 버전은 다음 명령어로 확인이 가능합니다.
$ nvm ls-remote
2021-09-02 기준 node.js 사이트 최신 버전은 16.8.0 버전이며 nvm 에서 제공하는 최신 버전 또한 16.8.0 버전입니다.
Node 설치한 목록 확인하기
chaser@DESKTOP-Q89E2CK:~/.nvm/versions/node$ nvm ls
-> v14.17.6
system
지금 현재 nvm을 통해서 다운로드 받은 node 는 v14.17.6 버전입니다. 그런데 system 이란 글자가 있습니다. 이는 다음과 같이 확인할 수 있습니다.
chaser@DESKTOP-Q89E2CK:~/.nvm/versions/node$ nvm run system --version
Running node system (npm v6.14.4)
v10.19.0
Node 버전 선택하기
$ nvm use {version}
chaser@DESKTOP-Q89E2CK:~/.nvm/versions/node$ nvm ls
-> v14.17.6
system
default -> lts/* (-> v14.17.6)
use 명령어를 사용 할 경우 새로운 쉘을 실행 하거나 다시 띄우게 되면 node의 버전이 default 버전으로 돌아가게 됩니다.
이를 방지하기 위해서 기본적으로 제공할 버전을 다음과 같이 변경 합니다.
$ nvm alias default {version}
# 설치되어 있는 가장 최신버전의 node를 defalut로 사용하기
$ nvm alias default node
현재 사용중인 버전 확인하기
$ nvm current
node.js 설치 경로 확인하기
$ which node
필요 없는 node 버전 삭제하기
$ nvm uninstall {version}
'Node.js' 카테고리의 다른 글
[Node] NVM-windows 설치하기 (0) | 2021.09.01 |
---|---|
[Node] Windows에서 Node.js 설치하기 (0) | 2021.09.01 |