BeagleBone에 node.js버전 업그레이드

BeagleBoneBlack에 node.js는 0.8.22가 깔려있다. 최신 버전이 필요할 경우가 생겨서 node.js 버전을 최신으로 업그레이드 하였다. 그 step을 공유해보자. 우선 ethernet을 연결한 상태에서 BBB 작업을 진행했다.

1. system time  설정

npm, curl, wget 등으로 https로 파일을 가져올때 BBB의 system time이 적절하지 않으면 에러가 난다. 먼저 BBB의 system time을 현재시간으로 맞춰주자.


$ ntpdate ntp.ubuntu.com

 

2. nvm을 설치해서 nvm을 통해 node.js 최신버전을 설치

nvm은 node.js 버전 관리 메니저로 손쉽게 node.js버전을 설치/삭제/switch할 수 있다. 설치방법은 이곳을 따른다. nvm은 내부적으로 우선 미리 compile된 binary를 찾고, 이 binary가 시스템에서 execute가 되면 설치를 완료한다. 만약 이 binary가 실행하지 못하면 full node.js source code를 다운받아 새로이 compile하게 된다. 일반적으로 mac이나 linux는 x86기기라서 다운받은 binary가 잘 execute되지만, BBB는 ARM cortex A8 CPU이기 때문에 node.js쪽에 준비된 compile된 binary가 없었을 것이다. 또한 많은 ARM core 버전NEON instruction등을 사용하는냐 마느냐 등 arm쪽 binary를 서버에 준비해 두기에는 다양한 변수들이 많았을 것이다. 결국 nvm은 full source code를 다운받아 자체 컴파일을 시도한다. 자체 컴파일이 진행되면 시간이 제법 오래 걸린다. 경험상 3~4시간 걸렸던 것으로 판단된다.

3. nvm버전 switch후 사용하기


$ nvm use 0.10.16

$ node -v

v0.10.16

이제 최신버전의 node.js로 변경되었다. 이전에 pre-install되었던 0.8.22버전은 nvm에서 관리되지 않으니 유의하기 바란다. 다시 0.8.22로 변경하기 위해서는 nvm install 명령어를 통해서 설치하면 0.10.16과 0.8.22를 손쉽게 switch할 수 있다.

About musart
hello

Leave a comment