나만의 Windows 개발 셋팅 - NVM을 통한 Node 설치(feat. Linux)

2022. 7. 28. 22:32Guide

 

이전 Windows nvm 설치에 이어 이번엔 Linux에 설치하는 방법에 대해 알아보자.

nvm에 대해 설명은 이전 포스트에서 하였으니 이번엔 바로 설치를 진행하여 보자.

 

NVM 설치

Linux에서도 nvm-sh라는 오픈소스 라이브러리가 존재하기 때문에 어렵지 않게 설치가 가능하다.

아래는 nvm-sh 오픈소스 Github으로 자세한 설명을 볼 수 있으니 참고해 보면 될 것 같다.

 

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...

github.com

 

nvm-sh 설치

설치방법은 curl 또는 wget을 사용하여 다운로드하여 설치할 수 있다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

※ 참고사항으로 /v0.39.1/ 부분은 계속 업데이트가 진행되니 설치 시 Github 최신 버전 확인 후 설치하면 된다.

 

설치 시 아래와 같이 진행이 되며 중간에 보이는 .zshrc 부분에 appending 했다는 메시지도 출력되는데. zshrc 파일을 확인해 보면 제일 하단에 환경설정 부분이 자동으로 추가된 것을 확인할 수 있다.

nvm-sh 설치

자신의 쉘 기준으로 적용을 해주면 설치는 끝이 나게 된다.

source ~/.zshrc

※ 환경설정 부분은 현재 사용하고 있는 Shell 기준으로 등록이 되기 때문에 bash 쉘을 써서 설치 했다면 .bashrc에 추가 되게 된다.

 

nvm-sh 설치 확인

nvm 명령어를 통해 확인해보면 아래와 같이 정상적으로 설치된 것을 확인할 수 있다.

nvm 설치 확인

설치경로 ~/.nvm 로 이동해 보면 다음과 같이 정상적으로 파일들도 생성된 것을 확인할 수 있다.

.nvm 설치 경로


NVM을 통한 node 설치

nvm 명령어 옵션

설치를 시작하기에 앞서 nvm 명령어 사용 시 기본적인 옵션 부분에 있어서 간단하지만 공통적으로 많이 사용되는 항목으로 아래 3가지만 알고 넘어가자.

nvm-sh의 자세한 사용방법은 Github Usage 부분을 통해서도 확인 가능하다.

  • --silent : 화면에 표시하지 않고 실행
  • --lts : lts버전
  • --lts=<LTS name> : <LTS name>에 해당하는 node버전

 

node 설치 목록

설치 목록은 nvm ls 또는 nvm list로 확인 가능하다.

nvm ls #--no-alias

참고로 node를 한 번이라도 설치했다면 목록에 alias정보가 포함되어 아래와 같이 표현되게 되는데 해당 alias를 통해 default, iojs, stable, unstable 버전을 따로 관리할 수 있으며 표시되는 색으로 설치 정보를 알 수도 있다.

nvm ls 정보

  • 초록색 : 활성화된 Node 
  • 파란색 : 활성화되지 않은 Node
  • 빨간색 : 미설치 Node 
  • 노란색 : 최신 LTS 버전별 alias 정보

 

nvm ls-remote 명령어로 설치 가능한 node버전을 확인할 수 있으며, --lts 또는 --lts=<lts name> 옵션으로 해당하는 버전만 확인할 수도 있다.

nvm ls-remote #--lts or --lts=<lts name>

nvm ls-remote

 

node 설치

nvm install [<version>] [<Options>]

nvm install 명령어를 사용하여 설치 가능하고 <Version> <Options>에 따라 설치 항목도 변경 가능하다.

 

최신 버전 설치

nvm install node # "node" is an alias for the latest version

최신버전 Node 설치

LTS 버전 설치

nvm install --lts # or --lts=<lts name>

--lts 또는 --lts/* 옵션을 통해 최신 lts 버전을 다운로드할 수 있으며 <lts name> 입력 시 해당 lts 버전도 다운 가능하다.

node lts 버전 설치

기타 버전 설치

설치하고자 하는 버전을 직접 입력하여도 설치가 가능하다.

nvm install 14.20.0 # or 16.3.0, 12.22.1, etc

기타 버전 Node 설치


node 버전 활성화

node 설치 시 자동으로 활성화가 되기 때문에 따로 활성화를 해줄 필요는 없음으로 활성화되어 있는 node버전부터 확인해 보자.

 

활성화된 node 확인 

현재 활성화된 Node 버전에 대한 확인은 nvm current 또는 nvm ls --no-alias 명령어를 통해 확인 가능하다.

alias 항목은 밑에 설명을 하기 때문에 지금은 버전 확인만을 위해서 --no-alias 옵션으로 확인한다.

nvm current

활성화된 node 정보 확인

 

활성화된 node 변경

아래와 같이  nvm use 명령어를 통해 간단하게 node버전의 변경이 가능하다.

<version> 조건 역시도 여러 방법으로 간단하게 변경할 수 있으니 참고해서 변경하면 된다.

nvm use [<version>] #--lts

활성화 node 버전 변경


!! 중요 확인 사항

☆ nvm use를 통해서 변경한 node는 현재의 Shell 기준으로만 적용된다!!
shell 별로 적용되는 nvm use 명령어
위에서 보면 같은 서버 기준으로 두 개의 Shell 접속을 하였을 때 nvm use를 통해 node를 변경하게 되면 실제적으로 다른 Shell에 적용이 되지 않는 것이 확인된다. 즉, nvm use를 통한 node 버전 변경은 현재의 접속해 있는 Shell 기준에서만 적용이 된다는 것을 알 수 있다.

 

nvm alias를 통한 활성화

위에서 nvm use를 통해 활성화할 때 각 Shell별로만 적용이 되기 때문에 고정적으로 node 버전을 변경하기 위해서 nvm alias부분을 함께 이해해야 한다.

nvm ls 또는 nvm alias 통해 alias 정보들도 확인할 수 있는데 해당 항목에 대해 간단하게 알아보자.

nvm alias 확인

alias 란?

nvm에서도 alias는 각각의 항목을 연결시켜 주는 별칭으로 중요한 건 각각의 alias가 바라보고 있는 실제 node의 버전만 확인하면 되는 것이다.

alias는 -> 방향으로 연결이 되며 (-> N/A or [version]) 부분이 실제 연결된 node 버전 정보이며 마지막에 (default)가 붙은 항목은 설치된 버전이 없는 경우 defulat 항목의 node 버전을 적용된다는 것이다.

 

이처럼 가장 중요한 것이 기본(default) alias로서 Shell접속 시 기본적으로 해당 alias를 통해 버전을 활성화시키게 된다.

node, iojs, unstable 등 별도로 설치가 되지 않은 항목들은 N/A (default)  형태로 default로 바라보게 된다.

e.g)  default -> node -> stable -> v18.7.0
        iojs or unstable -> N/A (default) -> node -> stable-> v18.7.0

e.g)  default -> v16 -> v16.16.0
        node -> stable -> v18.7.0
        iojs or unstable -> N/A (default) -> v16 -> v16.16.0

그럼 이제 alias 적용 법에 대해 알아보자.

 

기본(default) alias 적용

서버에서 항상 같은 버전의 node가 선택되도록 하기 위해서는 default 항목에 alias로 지정이 되어있어야 한다.

버전 정보는 여러 가지 형태의 정보가 모두 등록 가능함으로 최종적으로 등록된 node 버전을 꼭 확인해야 한다.

nvm alias default [<version>]
e.g)  nvm alias default node  //alias 등록
        nvm alias default lts/*    //lts alias 등록
        nvm alias default v18    //v18버전 중 최신
        nvm alias default v18.7.0 

 

아래는 default alias를 v16에서 node로 변경함으로 v16.16.0에서 v18.7.0으로 변경된 걸 확인할 수 있다.

참고로 default 가 변경된다고 해서 현재 Shell 버전이 바뀌는 것은 아니며 현재 Shell은 nvm use를 통해 변경하고 새로운 shell에 접속 시는 default node로 활성화되는 것이라는 것을 다시 한번 알고 넘어가자.

default alias 변경

alias 추가 / 삭제

alias 연결이 중간 과정의 alias 변경 만으로도 최종 node의 버전을 변경할 수 있으며 본인이 원하는 alias 도 얼마든지 추가/삭제가 가능하니 필요에 따라 연결하여 사용하면 될 것 같다.

nvm alias <patten> <version>

alias 추가

alias 삭제 시 에는 기존 연결되어있는 정보를 확인하여 최종적으로 연결이 잘되어 있는지 확인이 필요하다.

nvm unalias <alias name>

alias 삭제


node 설치 확인

default node 확인

이제 새로 Shell을 열어 원하는 node 버전이 정상적으로 활성화되어 있는지 확인 해면 default alias로 지정된 node 버전이 정상적으로 적용되는 것을 확인할 수 있다.

default node 활성화 확인

 

설치 경로 확인

해당 node들은 ~/.nvm/version/node/ 하위에 저장되며 각각의 환경변수 역시 정상적으로 지정된 것 을 확인할 수 있다.

node의 설치 경로 확인

 

마치며..

쓰고 보니 내용만 너무 장황할 뿐 사실 엄청 간단한 것이니 사용하는 데는 크게 어려운 부분은 없을 것 같다.