nvm은 node js 버전 매니저로 시스템에 여러 개의 nodejs 를 설치하고 사용할 버전을 쉽게 전환할 수록 도와주는 shell script로 rvm(Ruby Version Manager) 와 비슷한 역할을 수행합니다.


사전 준비 사항

만약 시스템에 nodejs 의 바이너리가 설치되어 있지 않다면 C++ 컴파일러와 개발 라이브러리 설치가 필요합니다. 


sudo apt install build-essential libssl-dev
sudo yum install gcc gcc-c++ openssl-devel


설치

설치 스크립트를 받아서 실행하면 되는데 curl 또는 wget을 사용하면 됩니다.


curl 로 설치

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash


wget 

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash


위 명령어를 실행하면 아래와 같은 메시지가 표시됩니다.


=> Appending nvm source string to /home/lesstif/.bash_profile

=> Appending bash_completion source string to /home/lesstif/.bash_profile
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:

/usr/local/node-v6.17.0-linux-x64/lib
├── gulp@4.0.0
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` Nodes), you can remove them from the system Node as follows:

     $ nvm use system
     $ npm uninstall -g a_module

=> Close and reopen your terminal to start using nvm or run the following to use it now:

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


맨 아래에 있는 메시지를 보면 shell 의 초기화  파일(ex: .bash_profile) 에 다음 내용이 추가되었으므로 source ~/.bash_profile 를 실행하거나 다시 로그인하면 nvm 설치가 반영됩니다.

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


사용

새로운 nodejs 설치


nvm install version


현재 LTS 인 12.13.1 을 설치하려면 아래 명령어를 실행합니다.

nvm install 12.13.1


10.x 와 8.x 의 마지막 버전을 설치하려면 다음 명령을 실행합니다.

nvm install 10
nvm install 8



ls

현재 설치된 node 목록을 확인할 경우 ls 옵션을 주고 실행하면 됩니다.

nvm ls

전체 목록이 표시되며 → 표시가 있는 v8.16.2 가 현재 사용하는 버전입니다.


사용할 버전 지정

만약 12.13.1 을 사용할 경우 use 옵션뒤에 사용할 버전을 지정합니다. 아래 명령은 12.13.1 을 사용하도록 설정합니다.

nvm use 12.13.1


만약 설치된 12 버전이 하나밖에 없다면 minor 와 patch 버전은 생략해도 되며 다음 명령은 nvm use 12.13.1 과 동일한 결과를 가져옵니다.

nvm use 12


다시 nvm ls 를 실행하면 현재 버전이 변경된 것을 확인할 수 있습니다.


Ref





blog comments powered by Disqus