Ubuntu 16.04/18.04에서 node.js 최신 버전 설치 방법
스토어 앱에 있는 기본 Ubuntu 16.04 앱에는 node.js가 없습니다.
$ node
The program 'node' is currently not installed. You can install it by typing:
sudo apt install nodejs-legacy
따라서 nodejs-legacy와 npm을 새롭게 설치하면 되는데,
$ sudo apt install nodejs-legacy
$ sudo apt install npm
버전이 매우 낮습니다.
$ node -v
v4.2.6
$ npm -v
3.5.2
최신 버전으로 업데이트하려면 이런 경우 nvm을 설치하라고 합니다.
Easy way to install nvm on Ubuntu 18.04
; https://medium.com/@nbanzyme/easy-way-to-install-nvm-on-ubuntu-18-04-2cfb19ee5391
따라서 다음과 같은 명령어를 차례로 실행시킨 후,
$ sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
$ [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm으로 설치할 수 있는 버전을 구하고,
$ nvm ls-remote
그 버전을 기입해 설치하면 됩니다.
$ nvm install 10.16.0
그럼 다음과 같이 node와 npm 버전이 올라간 것을 확인할 수 있습니다.
$ node -v
v10.16.0
$ npm -v
6.9.0
윈도우 사용자들에게 유의할 점이 있다면, 저런 경우 node와 npm의 버전 업데이트가 "nvm install ..." 명령어를 실행한 사용자에게만 유효하다는 것입니다. 그래서 다음과 같이 root 계정으로 확인해 보면,
$ sudo -i
# node -v
v4.2.6
# npm -v
3.5.2
apt install nodejs-legacy로 설치한 당시의 버전으로 나옵니다. 종종 이런 불일치로 인해 혼란이 올 수 있는데요, 작업하는 김에 가능한 root 환경에서도 버전을 맞춰주는 것이 좋습니다. 방법은 위와 같이 "sudo -i"로 root 계정으로 이동한 후 다시 nvm을 설치하고 nvm install을 실행해 주면 됩니다.
$ sudo -i
# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# nvm install 10.16.0
참고로, npm 내에 배포된 패키지를 통해서 node.js를 업데이트하는 방법도 있습니다.
How to update NodeJS to the latest version?
; http://geekstuff.org/2018/11/04/how-to-install-node-ubuntu-18-04/
위의 글을 정리해 보면, npm 자체를 최신 버전으로 업데이트한 후,
$ sudo npm install npm@latest -g
$ npm -v
6.9.0
"n"이라는 이름의 패키지를 설치합니다.
$ sudo npm install -g n
그런 다음, n 패키지를 이용해 최신 LTS 버전의 node.js를 설치할 수 있는데,
$ sudo n lts
install : node-v10.16.0
mkdir : /usr/local/n/versions/node/10.16.0
fetch : https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.gz
installed : v10.16.0
문제는 이게 "/usr/local/n/versions/node/10.16.0" 경로에 다운로드된 것뿐이라는 점입니다.
$ node -v
v8.10.0
$ /usr/local/n/versions/node/10.16.0//bin/node -v
v10.16.0
상황에 따라 nvm을 이용하든지, n 패키지를 이용하면 될 것입니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]