이 글은 다음과 같은 환경의 Raspberry Pi를 다루고 있습니다.

  • OS Release : Raspbian GNU/Linux 9 (stretch)
  • Kernal : 4.9.41-v7+ #1023 SMP Tue Aug 8 BST 2017 armv7l

이슈

라즈베리파이로 작업할 부분이 생겨 여느 때와 마찬가지로 Node.js 환경부터 구축해보려 했습니다.

pi@raspberrypi:~ $ sudo apt-get install nodejs npm

제대로 된 건지, 안 된 건지 평소와는 조금 다른 로그가 보이는 것도 같고.. 뭐 개의치 않고 쭉쭉 진행해보자 싶은 마음에 PM2를 설치하는데 역시나,

pi@raspberrypi:~ $ npm install -g pm2
[DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! Error: Method Not Allowed

os.tmpDir() 메서드는 이제 deprecated 되었으니 os.tmpdir() 을 대신 사용하라는 군요! 음.. 내가 그런 것도 아닌데?!!

[DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

위 이슈에 대해 깃헙 npm repo에서 좀 살펴보니 몇몇 대화가 오가고, 다음과 같은 tip들이 눈에 띕니다.

cmt1 cmt2

음, 보아하니 별 큰 문제 아니었던 것 같네요! 시도해봅니다.

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade

다시 이렇게 저렇게 시도해봐도 잘 해결이 안 됩니다. 😢
오히려 이런 저런 많은 시도를 해보느라 더 지저분해지고 뭔가 꼬인(?) 것 같은 느낌도 듭니다.. 싹 밀고 다시 제대로 설치해보죠.

설치

레거시 삭제

pi@raspberrypi:~ $ sudo apt-get remove nodejs


ARM 버전 확인

우리는 Linux binaries를 바로 다운받을 계획이기 때문에 ARM 버전 확인이 필요합니다.

pi@raspberrypi:~ $ uname -m
armv7l


다운로드

홈페이지에서 필요한 버전의 사양 및 다운로드 경로를 확인합니다.
저는 현 시점 LTS(Long Term Support) 버전인 10.15.3으로 진행해보겠습니다. nodejs

pi@raspberrypi:~ $ wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-armv7l.tar.xz


압축 풀기

pi@raspberrypi:~ $ tar -xvf node-v10.15.3-linux-armv7l.tar.xz


복사

pi@raspberrypi:~ $ cd node-v10.15.3-linux-armv7l/
pi@raspberrypi:~/node-v10.15.3-linux-armv7l $ sudo cp -R * /usr/local/


확인

pi@raspberrypi:~ $ node -v
v10.15.3
pi@raspberrypi:~ $ npm -v
6.4.1


간단하죠? 😎