티스토리 뷰

지난번에 npmpm2 에 대해서 살펴봤는데 이번에는 nvm 에 대해서 알아보도록 하자. 우리가 오픈소스를 개발한다면 readme 에 당연히 노드의 버전을 명시한다. 그리고 해당 오픈소스를 사용하려는 사용자는 (가급적) 명시된 노드 버전에 맞춰서 프로젝트를 돌려볼텐데 내가 설치한 버전과 상이한 버전의 노드를 실행시키기 위해서는 어떻게 해야 할까? 노드를 지우고 새로 설치? 혹은 파이썬의 virtualenv 와 같은 가상 환경이 존재할까? 아니, 그럴필요가 없다. 여기 노드 버전을 매니징 할 수 있는 nvm ( Node Version Manager )이 있다. ( 노드 공식 프로그램은 아니고 개인이 만든 프로그램인데 사실상 공식처럼 사용한다 )

nvm 을 통해 우리는 다양한 노드 버전을 한 개의 시스템에 설치하고 사용할 수 있다. 그럼 설치부터 필요한 옵션을 하나씩 살펴보도록 하자.

설치 ( curl )

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

설치 ( wget)

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

설치가 끝나면 터미널에서 nvm 명령어를 사용할 수 있는데 환경변수가 세팅이 안되서 설치한 터미널에서는 nvm 경로를 못찾는 경우가 있다. 이때는 새로운 탭을 열거나 .bash_profile 의 설정을 다시 한번 적용시켜 주도록 하자.

source .bash_profile

이제 버전 관리 / 설치 / 버전 변경 등 옵션을 살펴보자. 사용가능한 버전을 확인하는 옵션은 두 가지가 있는데 lsls-remote 가 있다. ls 는 내 로컬에 설치되어 있는 버전을 확인하는 옵션이고  ls-remote 는 원격지로부터 설치 가능한 버전을 확인하는 옵션이다.

$ nvm ls-remote
        v0.1.14
        v0.1.15
        v0.1.16
        v0.1.17
.... 중략
        v10.2.0
        v10.2.1
        v10.3.0
        v10.4.0

새로운 버전 설치는 이렇게 확인된 버전을 install 뒤에 인자로 넘겨주기만 하면 된다. 예제로 v0.10.48 을 받아보도록 하자.

$ nvm install v0.10.48
Downloading and installing node v0.10.48...
Downloading https://nodejs.org/dist/v0.10.48/node-v0.10.48-darwin-x64.tar.gz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v0.10.48 (npm v2.15.1)

설치가 완료되면 현재 로컬 환경에 노드 버전은 새로 다운로드 된 버전으로 변경 된다. 마지막 라인에서 Now using node v0.10.48 을 확인했지만 다시 확인해보자.

$ node -v
v0.10.48

이제 시스템에 설치된 모든 노드 버전을 ls 옵션을 통해 확인해보자.

$ nvm ls
->     v0.10.48
        v6.10.3
         system
default -> v6.10 (-> v6.10.3)
node -> stable (-> v6.10.3) (default)
stable -> 6.10 (-> v6.10.3) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.2 (-> N/A)
lts/carbon -> v8.11.2 (-> N/A)

v0.10.48, v6.10.3, system 세 개가 설치되어 있는 상태이다. 버전 변경은 use 옵션에 인자로 버전을 명시해주면 된다.

$ nvm use v6.10.3
Now using node v6.10.3 (npm v3.10.10)

한편 버전 변경 없이 프롬프트만 다른 버전으로 띄우는 방법도 있다.

$ nvm run v0.10.48
Running node v0.10.48 (npm v2.15.1)
>

설치한 노드 버전을 삭제하려면 uninstall 에 인자로 버전을 지정해주면 된다.

$ nvm uninstall v0.10.48
Uninstalled node v0.10.48


마무리

이외에도 다양한 옵션이 존재하는데 위에서 살펴본 내용만으로도 충분히 다양한 환경을 구축해서 개발을 할 수 있을 것으로 기대된다. 참 좋은 세상이다. node 를 설치하는 과정은 나름 꽤 번거로운 일인데 이미 누군가 다 구현해놨구나. 아무튼 이 글이 노드의 문턱을 올라서는 누군가에게 도움이 될 수 있기를 바란다.


댓글
댓글쓰기 폼