Programming/Javascript

NVM, Node Version Manager 소개

동건 2017. 5. 7. 17:00

ubuntu에는 기본적으로 JDK, Python, Node.js 등의 프로그래밍 언어 및 도구들이 함께 설치되어 있다. Node.js가 설치되어있는 것을 확인해보려면 바로 쉘에서 아래와 같이 버전을 체크해보면 된다.


~$ node --version
v4.8.3
~$ npm --version
2.15.11


시스템에 기본으로 v4.8.3 버전의 Node.js가 설치되어있는 것을 확인할 수 있다. 하지만 Node.js 공식 사이트가 알려주는 최신 버전은 아래 스크린샷을 통해서 보듯이 v7.10.0, v6.10.3(LTS)이다.

Official site of Node.js공식 Node.js 페이지


최신 버전과 시스템 버전은 큰 괴리가 있음을 깨닫는다. 그럼 여기서 고민이 생긴다.

  • 그냥 시스템에 깔려있는 Node.js를 쓸 것인가,
  • 아니면 최신 LTS 버전 (혹은 원하는 버전)을 설치할 것인가,
  • 새 버전을 설치한다면, 시스템에 설치되어있는 Node.js는 삭제해야하나?

이런 결정에 따른 지저분한 일을 하지 않게 해주는 것이 NVM (Node version manager)다. NVM은 여러 버전의 Node.js를 설치하고 관리하고 사용할 수 있게 해주는 bash 스크립트 프로그램이다. 이 글에서는 Linux 계열의 운영체제에서 NVM 설치와 사용 방법을 간단하게 정리한다.


설치

공식 github 페이지의 안내를 따라 설치하면 되지만, 그래도 여기에 간단히 소개한다.

쉘에서 다음 명령어를 입력하면 설치가 진행된다.


~$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

위 명령이 할 일을 끝내면 $HOME 디렉토리에 .nvm이라는 폴더가 생성되어 있을 것이다. 아래 스크린샷처럼 확인해 볼 수 있다.

check the creation of .nvm directory

이렇게 생성된 .nvm 폴더를 운영체제 계정의 프로필에 등록하면 된다. 다시 $HOME 디렉터리에서 .profile 이나 .bashrc 파일을 찾아서 가장 마지막 줄에 다음 코드를 추가해준다.


export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

위 작업을 마쳤으면, 이제 터미널을 새로 열어서 nvm을 입력해보자. 아래 스크린샷처럼 별 다른 이상 없이 NVM 도움말이 나오면 설치가 완료된 것이다.

Installation completed for NVM


사용법

nvm 명령 입력 시 나오는 도움말을 참조하면 사용법을 알아볼 수 있다. 그 중 몇 가지 작업을 여기서 예제 삼아 수행해보겠다.

목록 보기: ls

우선 리눅스에서 ls를 무의식적으로 사용하듯이 ls 명령을 입력해보겠다.

~$ nvm ls

nvm ls: check the installed versions of Node.js

현재 NVM이 관리하고 있는 Node.js의 버전은 딱 하나 뿐이고, 그 이름은 system이다. v4.8.3이라는 숫자 대신에 NVM은 system이라는 특별한 이름을 사용한다는 점, 같은 맥락으로 default, node, stable 등의 특별한 이름을 사용한다는 점을 알아두자. 지금까지 NVM을 이용해서 새로운 버전을 설치하지 않았으므로 당연한 결과이다. 새로운 버전을 설치해보고 ls의 결과가 어떻게 달라지는지 확인해보겠다.

버전 설치: install

6.10.3이라는 버전 숫자를 사용하지 않고 --lts 옵션을 사용해서, NVM이 인식하고 있는 최신 LTS 버전을 설치해보자.


~$ nvm install --lts

Install the latest LTS version of Node.js

위 결과 스크린샷을 통해 알 수 있듯이 NVM은 최신 LTS 버전을 잘 찾아서 설치했다. 다시 nvm ls로 설치된 사항이 어떻게 반영되었는지 확인해보자.

nvm ls after new version installed

기존 버전인 system과 더불어 새로 설치한 버전인 v6.10.3이 버젓이 자리잡고 있고, 현재 적용되고 있는 버전이 v6.10.3임을 화살표 표시를 통해 알 수 있다. 또한 default, node, stable이라는 이름들이 모두 v6.10.3 버전에 연결되어 있다는 점이 설치 내역 아래 부분을 통해 알 수 있는 부분이다.

버전 사용: use

이제 여러 버전이 NVM을 통해서 설치되었으니, 원하는 버전을 사용할 수 있어야겠다. nvm use를 이용하면 된다. 위에서 새로운 LTS 버전을 설치해서 현재 그 버전인 6.10.3이 적용되어 있으니, 다시 구버전으로 되돌아가보자.


~$ nvm use system

NVM changes the version of Node.js with nvm use

다시 최신 LTS 버전으로 바꿔보자. 버전 숫자인 6.10.3을 사용해도 되고, 이 버전에 연결된 이름 stable, node, default를 사용해도 모두 이상없이 바뀔 것이다.


~$ nvm use 6.10.3
~$ nvm use default
~$ nvm use stable
~$ nvm use node

버전 삭제: uninstall

nvm install과 마찬가지로 버전 숫자를 직접 입력해서 제거할 수도 있고 이름을 입력해서 이에 맞는 버전을 삭제할 수 있다. 방금 설치했던 6.10.3 LTS 버전을 다음 명령어 중 하나를 골라서 삭제해보자.


~$ nvm uninstall 6.10.3
~$ nvm uninstall default
~$ nvm uninstall stable
~$ nvm uninstall node


여기까지 NVM을 설치하고 사용하는 간단한 소개를 하였다. 이름을 관리 하고, nvm use 단계를 건너뛰고 바로 Node..js를 실행하는 등의 다양한 기능이 더 있으니, 공식 가이드를 더 읽어보고 사용하시기를 권한다.



참조 링크

NVM 공식 github 저장소

.profile / .bash_profile / .bashrc의 차이점은?


반응형

'Programming > Javascript' 카테고리의 다른 글

javascript array의 원소 삭제하기  (0) 2017.05.22