HEROPY
Tech
{{ scrollPercentage }}%

처음 시작하는 Node.js 개발 - 1 - 설치 및 버전 관리(NVM, n)

nodejs javascript

Node.jsV8이라는 구글에서 개발한 고성능 자바스크립트 엔진으로 빌드된 서버 사이드 개발용 소프트웨어 플랫폼입니다.

기본적으로 자바스크립트는 웹 브라우저(클라이언트 측)에서 실행되는데, Node.js 런타임 환경에서는 모든 종류의 서버 사이드 도구들을 제공하여 자바스크립트로 서버 개발을 할 수 있습니다.
따라서 자바스크립트를 이용하여 클라이언트 측(Front-end)과 서버 측(Back-end)를 모두 개발할 수 있으니, 웹 개발을 위해 추가적인 언어 학습이 필요하지 않습니다.

또한 Node.js의 패키지 생태계인 npm(Node Packaged Manager)은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이기도 합니다.
Node.js를 설치하면 npm이 같이 설치되어 사용할 수 있습니다.

설치

Node.js를 설치하기 위한 몇 가지 추천 방법을 설명합니다.

직접 설치

Node.js 홈페이지로 이동하여 설치 파일을 받아 설치합니다.

LTS vs Current

Node.js 홈페이지에 접속하면 설치 가능한 다운로드 버튼이 다음과 같이 ‘LTS’와 ‘Current’(현재 버전)으로 나뉩니다.

choosing the nodejs version

LTS(Long Term Supported)는 장기적으로 안정되고 신뢰도가 높은 지원이 보장되는 버전으로, 유지/보수와 보안(서버 운영 등)에 초점을 맞춰 대부분 사용자에게 추천되는 버전입니다.
짝수 버전(ex. 8.x.x)이 LTS 버전입니다.

Current(현재 버전)은 최신 기능을 제공하고 기존 API의 기능 개선에 초점이 맞춰진 버전으로, 업데이트가 잦고 기능이 변경될 가능성이 높기 때문에 간단한 개발 및 테스트에 적당한 버전입니다.
홀수 버전(ex. 9.x.x)이 Current 버전입니다.

여기서는 LTS 버전으로 설치하겠습니다.

설치 후 터미널에 다음과 같이 입력하여 설치 여부와 버전을 확인할 수 있습니다.
(Node.js를 설치하면 npm이 같이 설치됩니다)

$ node -v
# v8.9.4
$ npm -v
# 5.6.0

패키지 매니저로 설치

좀 더 다양한 방법으로 설치하기를 원하면 패키지 매니저로 Node.js 설치하기를 확인하세요.

macOS - Homebrew

macOS 용 패키지 관리자인 Homebrew를 사용하여 LTS 버전을 설치합니다.
버전의 Major Number만 입력합니다.

$ brew install node@8

Windows - Chocolatey

Windows 용 패키지 관리자인 Chocolatey를 사용하여 설치합니다.

$ choco install nodejs-lts

버전 관리

Node.js의 새로운 버전이 나올 경우 버전을 업그레이드(Upgrade)를 해야 하고, 하위 호환성을 위해서 버전을 다운그레이드(Downgrade)를 해야 할 수 있습니다.
다양한 경우에 의해 버전의 변경이 자주 발생하므로 Node.js를 설치할 때부터 버전 관리가 가능한 형태로 설치하는 것이 좋습니다.
물론, 아직 버전 관리가 필요하지 않다면 이 단계를 건너뛰어도 좋습니다.

Node.js의 버전 관리를 위한 대표적인 관리 매니저로 NVMn이 있습니다.
NVM과 n은 서로 유사한 기능을 제공합니다.
단, 이 글을 작성하는 2018년 2월을 기준으로 NVM과 n은 아직 Windows OS에서 지원되지 않습니다.
(NVM의 대체재로 nvm-windows나 nodist를 사용할 수 있습니다.)

NVM

https://github.com/creationix/nvm

충돌을 피하기 위해 NVM(Node Version Manager)을 설치하기 전 기존에 설치한 버전의 Node.js는 제거하는 것이 좋습니다.
NVM(Node Version Manager)을 설치하거나 업데이트하려면 cURL로 설치 스크립트를 사용할 수 있습니다.

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

혹은 Homebrew를 사용해 설치할 수도 있습니다.

$ brew install nvm

설치가 되면 ~/.bash_profile, ~/.zshrc, ~/.profile 등의 프로파일에 nvm.sh이 실행되도록 다음 스크립트가 추가됩니다.

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

혹시 추가되지 않았다면 직접 추가합니다.

# Node 버전 설치  
$ nvm install <version>  # ex> nvm install 8.9.4

# 설치된 Node 버전 목록 확인
$ nvm ls  

# 사용할 Node 설정  
$ nvm use <version>  # ex> nvm use 8.9.4  
$ nvm use <alias>  # ex> nvm use default

# 사용할 alias 설정
$ nvm alias <alias> <version>  # ex> nvm alias test-v 8.9.4

추가 사용법(Usage)

NVM은 Windows OS를 지원하지 않지만, 비공식적으로 nvm-windowsnodist를 Windows에서 사용할 수 있습니다.

nvm-windows

https://github.com/coreybutler/nvm-windows

nvm-windows은 설치 프로그램으로 nvm-setup.zip다운로드 받아 설치합니다.

사용법(Usage)

nodist

https://github.com/marcelklehr/nodist

nodist도 설치 프로그램을 다운로드 받아 설치합니다.

혹은 Chocolatey를 사용해 설치할 수 있습니다.

$ choco install nodist

사용법(Usage)

n

n은 기존에 설치된 Node.js를 제거할 필요가 없기 때문에 좀 더 쉽게 설치할 수 있습니다.
npm으로 전역(Global) 설치합니다.

$ npm install -g n

# 관리자 권한을 요구할 경우
$ sudo npm install -g n

역시 간단한 사용법을 소개합니다.
관리자 권한을 요구할 경우(Error: sudo required) 앞에 sudo를 붙입니다. 또한 제거(rm)할 경우에도 필요할 수 있습니다.

# 설치된 Node 버전 사용(목록에서 선택 후 Ctrl + c)
$ n

# 모든 Node 버전 중 설치된 버전 확인
$ n ls  

# Node 버전 설치  
$ n <version>  # ex> n 8.9.4
$ n latest  # 최신 LTS Node 버전 설치

# 제거할 Node 설정
$ n rm <version ...>  #ex> n rm 8.9.1 8.9.2
$ n prune  # 현재 버전을 제외한 모든 버전 제거

추가 사용법(Usage)

참고 자료(References)

https://nodejs.org/dist/latest-v6.x/docs/api/documentation.html
https://ko.wikipedia.org/wiki/Node.js
https://medium.com/gitignore/nvm-vs-n-f34ebca314ea