본문 바로가기

DATA SCIENCE/Study

Node.js 특정 버전 설치 & Node-RED 설치(WSL2, Ubuntu-20.04)

Node-RED를 설치하는 와중 WSL2, Ubuntu-20.04 환경에서 제대로 설치가 되지 않는 문제가 발생했다.

정확히는 다음과 같은 코드가 출력되며 한참을 멈춰있고, --verbose 옵션을 통해 진행상황을 살펴봐도 오랜 시간이 걸리다가 결국 에러를 내며 종료된다.

 

<바로 Node-RED를 설치했을 때, 아래와 같은 결과만 한참동안 내보내다 정지한다>

 idealtree:lib: sill idealtree builddeps

 

<--verbose 옵션으로 진행상황을 살펴보면 오랜 시간 이후 아래와 같은 결과를 내보내다 정지한다>

in most cases you are behind a proxy or have bad network settings

 

 

마치 네트워크 문제나 proxy 문제라 생각되어 해당 부분을 건드리거나 체크해봤고(proxy 설정), 그 외에도 다음과 같은 방법으로 registry를 설정하기도 해봤으나 정상작동하지 않았다. 다만 추후 다른 에러를 방지하기 위해 필요하니 레지스트리 등록 코드를 첨부한다. 이를 통해 https -> http 로 설치가 진행되게 된다

npm config set registry http://registry.npmjs.org/

 

다음으로는 본격적으로 Node-RED를 설치해주기 위해 node.js의 특정 버전을 설치할 차례다. 나는 공식 홈페이지를 통해 가장 추천하는(recommended) 버전이 14.x 임을 확인했고, 아래와 같이 진행했다.

sudo curl -sL <https://deb.nodesource.com/setup_14.x> | sudo -E bash -

 

만약 위의 코드를 실행하는 과정에서 Error executing command, exiting와 같은 에러가 발생한다면 아래의 코드를 실행한 뒤 다시 진행하면 된다.

sudo rm -rf /var/lib/apt/lists/*
sudo rm -rf /etc/apt/sources.list.d/*
sudo apt-get update

 

위의 과정까지 마쳤다면 이제 nodejs를 설치해주면 된다.

만약 기존에 nodejs나 npm 등이 설치되어 있었다면 깔끔하게 지워주고 다시 시작하는 것이 좋다.

sudo apt-get install -y nodejs

 

위의 코드를 통해 nodejs 14.x 버전과 그와 호환되는 npm 버전이 자동으로 설치되었을 것이다. 확인해보자.

npm -v
node -v

 

2021년 12월 30일 기준 결과는 다음과 같이 출력된다

npm version : 6.14.15
node version : v14.18.2

 

이후에는 $HOME으로 이동해(추후 설치되는 Node-RED 패키지 등이 이곳에 설치된다), Node-RED 폴더를 생성하고 그곳에서 Node-RED를 설치할 것이다. 이때 제법 시간이 걸릴 수 있으니 --verbose 옵션을 걸어두도록 하자.

우선 위에서 한 번 언급한대로 레지스트리를 지정한다.

npm config set registry http://registry.npmjs.org

 

이후 $HOME에 node-red 폴더를 만들어 node-red를 설치한다

mkdir ~/.node-red
cd ~/.node-red

sudo npm install -g --unsafe-perm node-red --verbose

 

참고로 폴더명 앞에 .을 붙였을 경우, 이는 숨김폴더가 되어 ls 명령어로 보이지 않는다.

숨김 파일이나 숨김 폴더까지 보고 싶다면 ls -a 명령어를 통해 확인할 수 있다.

 

 

만약 위 과정을 따라 진행했음에도 오류가 발생한 경우에는 wsl을 껐다 키고(wsl --shutdown 으로 완전히 종료), 다시 진행해보시면 됩니다. 설치가 완료되면 아래와 같은 결과가 마지막에 표시됩니다.

 

wifi로 연결해서 설치했을 때 속도

출력 결과를 보니 약 3235초가 걸린 것을 확인할 수 있습니다. 거의 한 시간 정도가 걸렸네요.

(참고로 인터넷 속도와 무관하게 유동 ip 등으로 인해 인터넷 연결이 불안정할 경우, node-red가 제대로 설치되지 않거나 위와 같이 시간이 오래 걸리는 것을 확인하였습니다. 실제로 제 폰의 hotspot을 통해 연결해 진행해본 결과 아래와 같이 31초밖에 걸리지 않으며, 이러한 것들은 추후 node-red의 패키지 설치에서도 동일하게 발생하는 이슈입니다.)

휴대폰 hotspot으로 연결했을 때, node-red 설치 속도

이렇게 설치가 끝난 뒤에는 node-red 명령어를 통해 실행해줍시다.

 

이렇게 실행시켜준 다음 저 위의 http://127.0.0.1:1880/ 로 들어가면 됩니다.

잘 실행되었네요!

 

 

또한 위의 번거로운 과정을 스킵하기 위해 docker를 통한 설치 방법 또한 존재하며, 해당 부분은 아래의 공식 홈페이지를 통해 확인할 수 있습니다.

 

Running under Docker : Node-RED

Running under Docker This guide assumes you have some basic familiarity with Docker and the Docker Command Line. It describes some of the many ways Node-RED can be run under Docker and has support for multiple architectures (amd64, arm32v6, arm32v7, arm64v

nodered.org