본문 바로가기
Programming JavaScript/Node

node-build 설치 및 활용

by jjerryhan 2018. 5. 5.
반응형

이번에 살펴볼 주제는 node 설치 및 제거를 편리하게 도와주는 node-build 입니다.


node-build ?

node-build 는 nodenv 에서 사용하는 node 설치 관리 플러그인입니다.

nodenv 의 플러그인으로 설치

node-build 를 nodenv 내에 플러그인으로 설치할 수 있으며, 설치 후에는 nodenv install 명령어로 연결이 됩니다.
가장 흔한 형태의 활용 유형입니다.

설치는 간단히 git 에서 clone 오는 것으로 간단히 완료됩니다.

Screen Shot 2018-05-05 at 3.17.52 PM.png
< node-build 를 설치하기 전의 nodenv >

git 으로 plugin 경로에 설치

git clone https://github.com/nodenv/node-build.git $(nodenv root)/plugins/node-build

Screen Shot 2018-05-05 at 3.18.09 PM.png
git 을 통해 가장 최신 버전의 node-build 를 현재 시스템에 설치된 nodenv 의 plugins 경로에 설치합니다.

Screen Shot 2018-05-05 at 8.04.03 PM.png

설치가 완료되면 아래와 같이 nodenv 명령어에 node version 설치를 위한 `install', 'uninstall' 명령이 추가됩니다.
Screen Shot 2018-05-05 at 3.18.27 PM.png
< node-build 가 설치된 후의 nodenv >

node 설치관리를 위한 용도로 독립적으로 설치 (고급사용자용)

node-build 는 nodenv 에 종속되는 형태가 아닌 독립적인 유틸리티로써도 사용할 수 있습니다.
설치 후 CI(continuous integration) 또는 CD(continuous delivery) 작업시 독립적인 빌드환경 또는 운영환경 관리를 위해 활용이 가능합니다.

이를 위한 독립 설치 방법도 소개합니다.
독립적으로 설치되는 경우 실행명령어는 nodenv 가 아닌 node-build 가 됩니다.

git 으로 독립 실행명령으로 설치

git clone https://github.com/nodenv/node-build.git
cd node-build
./install.sh

Screen Shot 2018-05-05 at 8.14.51 PM.png
git 에서 원본소스를 내려받은 후 설치하는 과정입니다.

설치가 완료되면 node-build 명령어가 /usr/local/bin 경로에 생성이 되어 실행이 가능해 지게 됩니다.
Screen Shot 2018-05-05 at 8.17.18 PM.png

설치된 node-build 업그레이드

기존 설치된 node-build 는 git 으로 다시 최신 버전의 소스를 다운로드 한 후 다시 install 스크립트를 실행하면 됩니다.

git pull
./install.sh

Screen Shot 2018-05-05 at 8.21.31 PM.png

맥 사용자를 위한 Homebrew 를 이용한 설치

맥 사용자는 brew 명령을 통해 손쉽게 설치 및 업그레이드 또는 삭제가 가능합니다.

nodenv 를 Homebrew 로 설치한 경우에는 node-build 가 함께 번들로 설치되기 때문에 추가 작업이 필요하지 않습니다.
제 환경에서는 이미 git 에서 소스를 가져다가 컴파일을 완료했으므로 시스템 보호의 목적으로 brew 관련 작업은 수행하지 않았고 스크린샷도 생략합니다.

아래 명령어로 설치합니다.

brew install node-build

안정 버전이 아닌 최신 개발중인 최종 릴리즈 버전을 설치하고자 하는 경우에는

brew install --HEAD node-build

와 같이 HEAD 버전을 지정하면 됩니다.

맥 사용자를 위한 Homebrew 를 이용한 업그레이드

업그레이드도 설치와 동일합니다.

brew upgrade --fetch-HEAD node-build

nodenv install 명령어를 통해 node-build 사용하기

아래 포스트 참조 : http://dreamholic.tistory.com/108

node-build 직접 사용하기

node-build 를 독립적으로 설치 한 이후에는 node-build 명령어를 통해 특정 경로에 특정 node 버전을 설치하고 관리할 수 있습니다.

node-build 를 통한 node 설치

node-build 에 설치대상 버전과 대상 경로를 지정하여 대상 node 엔진 설치를 수행할 수 있습니다.

node-build 8.11.1 ~/local/node-8.11.1

Screen Shot 2018-05-05 at 8.32.53 PM.png
현재 작업경로 하위에 8.11.1 버전의 node 를 설치한 예시입니다.

node-build 로 설치가능한 node 버전 조회하기

nodenv 와 마찬가지로 node-build --definitions 명령어를 통해 현재 node-build 가 설치가능한 node 버전 목록을 조회할 수 있습니다.

node-build --definitions

Screen Shot 2018-05-05 at 8.34.17 PM.png

사용자 정의 node 엔진

특정 환경의 경우 제공되는 node 버전이 아닌 특정 패치 또는 엔진 개선등을 내부적으로 수행한 자체 node 엔진을 활용하는 경우도 있는데요, 이 경우에는 definition 파일을 node-build 파일에 제공하여 해당 엔진을 설치 및 관리할 수 있도록도 지원합니다.

CI pipeline 과 docker build 에서 활용하기에 적합합니다.
아직 제 경험내에서는 직접 정의한 엔진을 사용해 보진 않아서 관련 내용은 생략합니다.

관심이 있는 분은 추가로 node-build customer definition 내용으로 자료를 찾아보시기 바랍니다.
긴 글 읽어주셔서 감사합니다.