nvm

nvm

node 를 기반으로 개발하는 개발자라면 node 를 시스템이 설치할것이다.
nvm이란 flexible 하게 node 버전을 관리할수있으므로, 기왕 node 를 설치하고자한다면, nvm을 활용하여 node 버전을 쉽게 관리할수있다.


설치

nvm 관련 정보는 이곳 을 참조하면 nvm에대한 다양한 명령어와 정보를 확인할수있다.

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

nvm 명령어를 사용하기위해 환경변수 등록 (~/.bashrc, ~/.profile, or ~/.zshrc)한다
필자는 계정레벨에서만 nvm을 사용할것이므로 ~/.bash_profile 에 환경변수를 등록한다

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

이제 nvm이 잘 설치되었는지 버전을 확인해보자

1
$ nvm --version

nvm 버전정보가 나온다면 nvm이 제대로 설치된것임을 확인할수있다.


node 설치

1
$ nvm install node

버전정보를 지정해주지 않을시 nvm은 node의 가장 최신버전을 설치한다
그렇다면 nvm이 설치가능한 node 모든 버전을 확인할수있을까 ?

1
$ nvm ls-remote

설치할수있는 모든 node의 버전이 표시된다
이제 특정 node 버전을 설치해보자

1
nvm install <버전>

nvm ls-remote 로 확인한 목록중 특정버전을 위와같이 설치할수있다.
기본적으로 새롭게 설치한 노드의 버전이 default로 시스템에 잡혀있을것이다.

1
$ node --version

방금 설치한 node의 버전이 자동으로 시스템에서 사용중임을 알수있다.
nvm을 통해 현재 시스템에 설치된 node의 리스트를 확인해보자

1
$ nvm ls

현재 시스템에 설치된 모든 node 의 버전들이 표시된다.
설치된 node 버전중 시스템에서 특정버전을 사용할수있도록 설정해보자

1
$ nvm use <버전>

1
$ node --version

시스템이 사용하는 node 버전이 변경됨을 확인할수있다.

but 터미널을 종료하고 새로운 터미널에서 node 버전을 재확인시, nvm을 통해 가장 마지막에 설치한 node의 버전으로 되돌아가있을것이다 ..
시스템 node의 버전을 특정 버전으로 고정시키자

1
$ nvm alias default <버전>

시스템에 특정 node 버전을 default로 사용하도록한다


의견

node 7.XX에서는 차후 es7애 탑제될 async, await 문법이 사용가능한것으로 안다.
실제로 stackoverflow등에서 이미 es7 문법에대한 커뮤니티가 활발한것을 확인할수있다.
node의 버전이 새롭게 나올때마다 새로운 node의 버전을 설치하는것 보다는, node의 버전을 골라서 시스템에서 사용할수있는점이 nvm의 가장큰 매력이라고 생각된다


참고

필자는 nvm을 통해 node를 설치하였을시, 자동으로 최신버전인 v7.8.0 이 설치되었다.
‘와 벌써 node 버전이 이만큼이나 높아졌네 ? ‘ 라고생각한후, hexo 를 설치하는데… 설치도중 에러가 ….
결국 node 공식 사이트에서 제공하는 stable 버전 을 확인한후, (현재시점은 v6.10.1 ) nvm으로 해당버전을 재설치후 hexo를 다시 설치하니 정상적으로 설치가되는 이슈가있었다..
이밖에도 hexo 뿐만아니라, node를 기반으로 사용하는 다른 third party 라이브러리에서 node의 최신버전이 지원되지않을수도있으니.. 참고하도록하자