티스토리 뷰

nvm이란?

nvm은 node version manager의 줄임말입니다. Node.js을 비공식적으로 여러 버전을 하나의 컴퓨터에 설치할 수 있도록 도와주며 사용자는 손쉽게 여러 개의 버전을 제약 없이 사용할 수 있습니다. POSIX-compliant shell (sh, dash, ksh, zsh, bash)에서 호환되며 unix, macOS, 그리고 windows WSL 플랫폼에서 작동합니다.

nvm 설치

brew install nvm

macOS 기준으로 nvm을 설치하기 가장 간단한 방법은 homebrew를 통하여 설치하는 것입니다. 위 명령어 brew install nvm 을 통해서 nvm을 설치합니다.

nvm 설치 후 초기 설정

Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.

You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

Add the following to ~/.zshrc or your desired shell
configuration file:

  export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.

Type `nvm help` for further information.

homebrew를 통해 nvm을 설치하게 되면 위와 같은 주의 사항 및 안내 문구가 나옵니다.

.nvm 디렉토리 생성

mkdir ~/.nvm

make directory를 의미하는 mkdir 명령어를 사용하여 ~ 즉 home directory에 .nvm 파일을 만듭니다. .nvm 파일은 nvm's working directory 즉 nvm을 활용하여 이루어진 모든 것이 존재하게 되는 곳이므로 이 .nvm 파일이 없다면 우선적으로 만들어야만합니다.

.zshrc에 환경변수 추가

vi ~/.zshrc

.zshrc 파일을 vim 에디터를 활용하여 연 후

#nvm
export NVM_DIR="$HOME/.nvm"
  [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

위의 코드를 제일 끝 줄에 붙여넣기 하여 :wq 를 하여 저장 후 빠져나옵니다.

source ~/.zshrc

그리고 source ~/.zhsrc 를 통해서 쉘을 재시작 해줍니다.

vim 관련해서 생소하시다면 아래 간단하게 정리된 설명을 보시기 바랍니다.

vim 간단 사용법

i, a, o는 명령모드에서 삽입모드로 전환하는 대표적인 키입니다.

  • i : 현재 커서 앞에 삽입합니다.

  • a : 현재 커서 뒤에 삽입합니다.

  • o : 현재 커서 행 아래에 새 행을 삽입합니다.

삽입모드가 끝나고 난 후 명령모드로 전환을 합니다.

  • ESC : 편집모드에서 명령모드로 전환합니다.

  • h, j, k, l : 좌, 아래, 위, 우로 한 칸씩 움직일 수 있습니다. 기존 화살표로도 사용할 수 있으나 권장하지 않습니다.

$ nvm --version
0.38.0

nvm --version 을 하였을 경우 버전 정보가 출력된다면 정상적으로 환경변수가 적용이 완료되고 nvm을 사용할 수 있는 것입니다.

nvm을 활용하여 lts 버전 설치하기

nvm ls | list

우선 nvm ls 을 통하여 목록을 확인해봅니다. 당연히 nvm 설치 후 아무것도 설치를 하지 않았으니 목록에 N/A 가 뜨면서 아직 node가 어떤 버전도 설치가 되지 않았음을 알 수 있습니다.

만약 nvm을 이용하지 않는다면 공식 홈페이지에서는 LTS버전 즉 Long Term Support인 14.17.6 와 현재 버전인 16.10.0 두 가지를 쉽게 다운 받을 수 있습니다.

가장 최신 버전인 16.10.0은 기능이 불안정하거나 일부 모듈이 작동하지 않을 수 있지만 최신14.17.6 LTS 버전은 앞에 14와 같이 4, 6, 8, 10, 12, 14 즉 앞이 짝수 단위 숫자의 버전이 지정되며 보다 더 안정적이고 오랜 기간 지원합니다.

그러므로 필자는 LTS 버전을 nvm을 이용하여 설치를 할 것입니다.

nvm install --lts

nvm으로 가장 최근 LTS 버전을 설치합니다. 즉 14.17.6 버전을 설치합니다.

nvm list-remote

nvm list-remote 명령어를 통해서 설치 가능한 node 목록을 확인할 수 있습니다. 꼭 최신 LTS 버전이 아니더라도 자신이 원하는 버전을 예를 들어 nvm install 12.13.0 처럼 찾아서 설치를 할 수 있습니다.

그 후 nvm ls 을 통해서 확인하면 다음과 같이 확인하면 최신 LTS 버전이 설치가 되고 v14.17.6 버전을 사용중이라는 것을 알 수 있습니다.

nvm 명령어 간단한 예시

Example:
  nvm install 8.0.0                     Install a specific version number
  nvm use 8.0                           Use the latest available 8.0.x release
  nvm run 6.10.3 app.js                 Run app.js using node 6.10.3
  nvm exec 4.8.3 node app.js            Run `node app.js` with the PATH pointing to node 4.8.3
  nvm alias default 8.1.0               Set default node version on a shell
  nvm alias default node                Always default to the latest available node version on a shell

  nvm install node                      Install the latest available version
  nvm use node                          Use the latest version
  nvm install --lts                     Install the latest LTS version
  nvm use --lts                         Use the latest LTS version

  nvm set-colors cgYmW                  Set text colors to cyan, green, bold yellow, magenta, and white

Note:
  to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)

위 코드는 nvm help 에서 설명하는 예입니다.

nvm install 8.0.0                     Install a specific version number

nvm으로 사용자가 원하는 버전을 지정하여 설치하는 것입니다.

nvm use 8.0                           Use the latest available 8.0.x release

nvm으로 8버전 중 가장 최신의 버전을 사용하는 것입니다.

nvm run 6.10.3 app.js                 Run app.js using node 6.10.3

nvm을 활용하여 6.10.3 버전으로 app.js 파일을 실행하는 것입니다.

nvm exec 4.8.3 node app.js            Run `node app.js` with the PATH pointing to node 4.8.3

nvm을 활용하여 node app.js 를 4.8.3 버전을 사용하여 실행하는 것입니다.

nvm alias default 8.1.0               Set default node version on a shell

nvm을 활용하여 shell에 8.1.0 버전을 기본으로 설정하는 것입니다.

nvm alias default node                Always default to the latest available node version on a shell

nvm을 활용하여 항상 최신의 node 버전을 shell에 기본으로 설정하는 것입니다.

nvm install node                      Install the latest available version

nvm을 활용하여 최신 node 버전을 설치하는 것입니다.

nvm use node                          Use the latest version

설치한 최신 버전의 node를 사용하는 것입니다.

nvm install --lts                     Install the latest LTS version

nvm을 활용하여 최신 버전의 LTS를 설치하는 것입니다.

nvm use --lts                         Use the latest LTS version

설치한 최신 버전의 LTS를 사용하는 것입니다.

nvm set-colors cgYmW                  Set text colors to cyan, green, bold yellow, magenta, and white

nvm의 텍스트 색상을 cgYmw 즉 청록, 녹, 볼드체 노랑, 마젠타, 흰색으로 지정하는 것입니다.

댓글