본문 바로가기

웹개발/자바스크립트

nvm으로 Node.js 버전 관리하기

간혹 Node.js로 개발하다보면 격변하는 JavaScript 세상의 신기능을 사용해보기 위해 최신 버전을 설치해야하거나 혹은 로컬과 운영 서버와의 호환성, 사용하는 라이브러리의 검증을 위해 버전을 내려야 하는 경우가 있다.

이번 글에서는 위와 같은 상황을 해결하기 위해 nvm을 사용해 Node.js의 버전을 관리하는 방법에 대해 간략하게 살펴보겠다.


설치

nvm 설치는 매우 간단하다. nvm에서 제공하는 스크립트를 통해 아래 명령어를 터미널 쉘에 입력하면 된다. (슬프게도 nvm은 Windows를 지원하지 않는다. 만약 Windows를 사용하고 있으면 nvm-windows 혹은 nodist를 사용하기를 권장한다고 한다.)

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

설치가 끝나면 nvm 명령어를 통해 정상적으로 설치되었는지 확인하자.

> nvm
Node Version Manager
Note: <version> refers to any version-like string nvm understands. This includes:
 — full or partial version numbers, starting with an optional “v” (0.10, v0.1.2, v1)
 — default (built-in) aliases: node, stable, unstable, iojs, system
 — custom aliases you define with `nvm alias foo`
...

만약 nvm: command not found와 같은 메세지가 출력한다면 ~/.bash_profile을 생성해주고 재설치를 하면 된다.

사용법

사용법은 아주 간단하다. 첫 번째로 내가 사용할 Node.js 버전들을 다음 명령어로 쉽게 설치할 수 있다. 나는 여기서 최신 stable 버전인 5.9.0을 설치해보겠다.

> nvm install 5.9
Downloading https://nodejs.org/dist/v5.9.0/node-v5.9.0-darwin-x64.tar.gz...
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v5.9.0 (npm v3.7.3)

일반적으로 install 명령을 통해 직전에 설치된 버전을 자동으로 사용하도록 설정한다. 여기서 추가로 LTS 버전인 4.4.0 버전을 설치해보자.

> nvm install 4.4
Downloading https://nodejs.org/dist/v4.4.0/node-v4.4.0-darwin-x64.tar.gz...
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v4.4.0 (npm v2.14.20)

4.4.0 버전이 성공적으로 설치된 것을 확인할 수 있다. 만약 현재 설치된 버전들의 리스트를 보고 싶다면 nvm ls 명령을 사용해보자.

> nvm ls
 v0.10.32
 v4.2.1
-> v4.4.0
 v5.9.0
 system
default -> 4 (-> v4.4.0)
node -> stable (-> v5.9.0) (default)
stable -> 5.9 (-> v5.9.0) (default)
iojs -> N/A (default)

방금 설치한 4.4.0 버전을 사용 중이라는 것을 확인할 수 있다. 현재 사용 중인 버전은 nvm current 명령으로 확인할 수 있다.(생략)

다음으로 가장 중요한 Node.js 버전 간의 전환을 해보자. 명령어는 nvm use [VERSION]이다. 여기서 들어가는 VERSION은 실제 버전일 수도 있고 LTS 버전의 경우 default, 안정화 버전이라면 stable alias를 사용해 대체할 수 있다.

> nvm use node
Now using node v5.9.0 (npm v3.7.3)
> nvm use default
Now using node v4.4.0 (npm v2.14.20)

만약 직접 alias를 지정하고 싶다면 nvm alias 명령을 사용하면 된다. 아래 내용은 구 버전인 0.10.32를 old라는 alias로 만들어보는 내용이다.

> nvm alias old 0.10.32
old -> 0.10.32 (-> v0.10.32)
> nvm ls
 v0.10.32
 v4.2.1
-> v4.4.0
 v5.9.0
 system
default -> 4 (-> v4.4.0)
old -> 0.10.32 (-> v0.10.32)
node -> stable (-> v5.9.0) (default)
stable -> 5.9 (-> v5.9.0) (default)
iojs -> N/A (default)

위에서 다룬 명령어들 외에도 몇몇 명령어들이 있으니 관심이 있다면 직접 Github을 방문해 살펴보는 것을 추천한다.


마무리는 항상 어렵다. 끝.