오늘도 삽질한 내용을 남겨보려고 한다.
몇일뒤에는 또 까먹게 되고
반복적인 삽질은 하기 싫으니깐.
세상의 대부분 일들이 그러하듯
알면 쉽고, 모르면 어렵다.
또 알고 나면 단순한 것이 모를 때에는 답답하고 앞도 보이지 않는 경우가 많다.
그래서 공부를 계속 해야하나 보다.
암튼.
최근 조직간 R&R 문제로 완전 신규 VM 세팅, 환경설정을 해야하는 일이 생겼다.
필자는 BackEnd 개발자라 간간히 서버 세팅도 보기는 하지만
아예 처음부터 구성하는 경우는 프로젝트 기간 중 초창기외 말고는 잘 없어서
또 많은 시간을 소모했다.
실수도 좀 하고 ㅎ
바로 리눅스 nodejs 폐쇄망, 오프라인에서 수동 설치
역시 알고 나면 별거 없다.
필자가 설치하고 싶은 버전은 nodejs v12 버전들.
아 참고로 nodejs는 버전에 민감하다.
꼭 기존 잘 돌아가는 서버내 버전 확인하고 동일 버전을 설치하라고 하고 싶다.
당연히 상위 버전이 하위버전 호환될 것이라고 생각하면
엄청난 노가다를 할 수도 있다.
결국 원인은 node version이고 허탈하고 그런일.
nodejs 과거 버전은 아래 사이트에서 받으면 된다.
https://nodejs.org/en/blog/release/v12.14.1/
스크롤을 쭈욱 내리다 보면 환경에 따라 설치 파일이 다르겠지만
리눅스에서는 보통 아래 형광팬 친 버전을 받으면 된다.
받고 나서 sftp를 활용해서
다음 경로로 설치 파일을 옮기고 압축을 풀었다.
/usr/local/lib/nodejs
.gz 압축은 걍 로컬에서 풀고 tar파일을 서버에 올렸고, tar 압축해제 명령어는 다음과 같다.
tar xvf node-v12.14.1-linux-x64.tar
압축이 모두 풀리고 나면, 소유권 변경을 해주자.
이걸로도 권한이 없어서 동작이 잘 안되는 경우도 많다.
chown -R root:root ../*
(이건 머 user group에 따라 다른 부분이라 편의상 root로 적었다.)
그러면 다음 경로에 nodejs가 설치되어 있는 것을 볼 수 있다.
사실 nodejs는 설치랄게 없다.
압축 풀고 경로지정(환경설정)만 잘 해주면 알아서 동작을 한다.
/usr/local/lib/nodejs/node-v12.14.1-linux-x64
그리고 나서 일단 nodejs 버전을 바로 확인해 보자.
위 경로로 들어가거나 아니면 다음 명령어를 쳐본다.
/usr/local/lib/nodejs/node-v12.14.1-linux-x64/bin/node -v
v12.14.1
이렇게 뜬다면 파일은 정상인 것이다.
그 다음 일반적인 환경세팅.
bash_profile로 해도 되고, /etc/profile로 해도 된다.
그리고 심볼릭 링크를 사용해도 되더라.
필자는 심볼릭 링크가 가장 편했다.
순서대로 적어보겠다.
심볼릭 링크는 위에서 특정 경로 지정시에만 node 사용할 수 있는것을
어디서나 확인하고 사용할 수 있도록 설정하는 것을 말한다.
1.심볼링 링크 설정
심볼릭 링크 명령어는 단순하다.
ln -s /usr/local/lib/nodejs/node-v12.14.1-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/lib/nodejs/node-v12.14.1-linux-x64/bin/npm /usr/local/bin/npm
정상적으로 심볼링 링크가 걸리면 이렇게 보여진다.
2. bash_profile 설정
이거 많이 쓴다.
vi ~/.bash_profile 로 들어가서
경로 지정을 하면 된다.
export NODE_HOME=/usr/local/nodejs
export PATH=$PATH:$HOME/bin:$NODE_HOME/bin
설정하고 나서 반영을 위해서는 아래 명령어를 친다.
. ~/.bash_profile
3. /etc/profile
역시 node 경로 설정이야 위에서 한 것과 동일하고
vi /etc/profile
경로 설정이후, 즉각 반영은 아래 명령어를 쓰면 된다.
source /etc/profile
그리고 node -v | node --version 쳐보자.
v12.14.1 이 나온다면 정상적인 것이다.
끝-
'IT' 카테고리의 다른 글
Golang 고루틴(Goroutine), 채널(Channel) (0) | 2022.05.23 |
---|---|
Linux Nginx 설치, 실행 확인(폐쇄망, 내부망) (1) | 2022.05.16 |
node js postgresql connection 안될 때. (0) | 2022.04.25 |
CORS policy 가장 쉬운 해결 방법. (0) | 2022.04.21 |
A 테이블에는 있고, B 테이블에는 없는 데이터 찾기/확인/삭제 방법 (0) | 2022.04.21 |
댓글