[개발] 지식/리눅스

ubuntu에서 node.js, npm 수동설치

하하미아 2022. 8. 2. 15:16

인터넷이 안되는 환경(서버)에서 특정 버전의 Node.js와 npm을 설치해야 했다. mirror 서버에 원하는 버전이 없었기 때문에 수동설치를 해야했다.

  • OS : ubuntu-18.04.5 LTS

Node.js 다운로드

Node v12.22.5 (LTS) | Node.js

12.22.5 버전이 필요해서 위 링크에서 linux 64bit 바이너리를 다운받았다. 그리고 ubuntu 서버로 복사.

Binary 수동설치

압축 해제

$ tar -xvf node-v12.22.5-linux-x64

압축을 해제한다.

  • x : 압축 해제
  • v : 진행률 표시
  • f : 파일 이름 지정

심볼릭 링크 설정

$ ln -s node-v12.22.5-linux-x64/bin/* /usr/local/bin/

압축을 해제한 node-v12.22.5-linux-x64/bin 디렉터리로 들어가보면 node와, npm의 심볼릭 링크가 있다. 이 심볼릭 링크를 위의 명령어를 통해 /usr/local/bin에 추가로 생성하면, node와 npm 명령어를 전역으로 사용할 수 있다.

$ node -v
$ npm -v

위의 명령어를 실행했을 때 정상적으로 버전이 출력되면 성공. 하지만..

npm 경로를 찾지 못하는 문제 발생

bash: /usr/bin/npm no such file or directory

node는 잘 실행되었는데, npm을 실행하면 위와 같은 에러가 발생했다.

$ which npm

위 명령어를 실행해도 /usr/local/bin/npm 경로가 제대로 나온다.

해시테이블 초기화

$ hash -r

원인은 hash 테이블이 갱신이 되지 않아서였다. 위 명령어를 실행해서 linux의 해시테이블을 초기화 해준다.

성공

$ npm -v
6.14.14

정상적으로 수행된다.