Centos에서 nodejs 및 npm 설치
nodejs 특정 버전 설치
Centos에서 기본적으로 제공하는 nodejs는 너무 하위버전이다. 그래서, 상위버전을 쓰려면 아래와 같이 curl명령어를 호출해 셋팅을 해야 한다. elasticdump를 쓸려고 한다면 nodejs v12을 추천한다
$ yum install -y gcc-c++ make
# 12점대 버전을 다운 받으려는 경우
$ curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
# 9점대 버전을 다운 받으려는 경우
$ curl -sL https://rpm.nodesource.com/setup_9.x | sudo -E bash -
$ yum install nodejs
yum install nodejs ERROR
만약 중간에 curl버전을 잘못 입력하거나, v9 다운받고 나서, v12를 다운받는 작업을 해서 repository가 꼬였을 경우 yum clean all 을 입력하여 cache 삭제후 재시도 하면 정상적으로 설치 가능하다.
$ yum clean all
$ yum install nodejs
Elasticdump 설치
$ npm install elasticdump
Elasticsearch 실행 ERROR
elasticdump를 실행했는데, 이래와 같은 ERROR가 발생한다. 왜 그럴까? 이 에러는 nodejs 버전이 너무 낮아서 그렇다. 속편하게 nodejs v12을 다운받자
$ elasticdump
/usr/lib/node_modules/elasticdump/elasticdump.js:124
async _loop (limit, offset, totalWrites) {
^^^^^
SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)