본문 바로가기
BACKEND/Node.js+NestJS

NVM (Node Version Manager) - 노드 버전 관리하기

by 드로니뚜벅이 2022. 4. 15.

노드(Node.js)를 사용하는 분이라면 여러 프로젝트를 관리하면서 여러 노드 버전을 사용해야 될 상황이 오게 됩니다. 프로젝트를 변경할 때마다 해당하는 특정 노드 버전을 설치해 주는 것은 굉장히 비효율적인 방법입니다. 이렇게 여러 노드 버전을 관리하기 위해 등장한 도구가 NVM(Node Version Manager)입니다.

파이썬의 pyenv와 비슷하게 NVM은 다양한 버전의 노드 리스트를 확인할 수 있고, 편하게 설치 및 삭제 그리고 전환까지 할 수 있는 매우 편리한 도구입니다.

 

NVM 설치하기

NVM GitHub에서 최신버전 확인합니다.

cURL 혹은 wget 명령어를 사용해서 nvm을 설치할 수 있습니다.

(curl 혹은 wget이 설치되어 있지 않으면 설치하신 후 아래 명령어를 실행해 주세요)

$ sudo apt update
$ sudo apt install -y build-essential
$ sudo apt install curl
// bash 일 경우
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
// zsh 일 경우
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | zsh

혹은

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

설치를 합니다.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0   191k      0 --:--:-- --:--:-- --:--:--  191k
=> nvm is already installed in /home/yunny/.nvm, trying to update using git
=> => Compressing and cleaning up git repository

=> Appending nvm source string to /home/yunny/.zshrc
=> Appending bash_completion source string to /home/yunny/.zshrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
$

 

설치 스트립트를 실행하면 쉘 설정 파일 (~/.bash_profile or ~/.zshrc)에 nvm 명령어 스트립트가 추가 됩니다.

해당 스크립트에 정상적으로 추가가 되어 있는지 확인해 주시기 바랍니다.

$ vi ~/.zshrc        // or ~/.bash_profile
...
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
...

마지막으로 사용자 홈 폴더(~)에 .nvm 폴더가 존재하면 설치가 성공적으로 진행된 겁니다.

설치가 되었으면 터미널을 재실행해야 합니다.

 

현재 설치된 노드 버전 확인하기

아래 3 가지 명령어는 동일하게 현재 시스템에 설치되어 있는 버전을 보여줍니다.

$ node --version
$ node -v
$ nvm current

 

노드 목록 확인하기

아래 명령어로 현재 설치된 노드의 버전들의 목록을 확인해 볼 수 있습니다.

$ nvm list

 

특정 노드 버전 설치

노드를 설치하기 전에 어떤 버전을 설치할 것인지 먼저 확인합니다.

그리고, nvm 으로 설치가능한 버전은 아래 명령어로 확인할 수 있습니다.

$ nvm ls-remote
            ...
        v18.0.0
        v18.1.0
        v18.2.0
        v18.3.0
            ...
       v18.16.0   (LTS: Hydrogen)
       v18.16.1   (LTS: Hydrogen)
       v18.17.0   (LTS: Hydrogen)
->     v18.17.1   (LTS: Hydrogen)
       v18.18.0   (LTS: Hydrogen)
       v18.18.1   (LTS: Hydrogen)
       v18.18.2   (LTS: Hydrogen)
       v18.19.0   (Latest LTS: Hydrogen)
        v19.0.0
            ...
        v20.8.0
        v20.8.1
        v20.9.0   (LTS: Iron)
       v20.10.0   (Latest LTS: Iron)
        v21.0.0
        v21.1.0
        v21.2.0
        v21.3.0
        v21.4.0

"nvm install [노드버전]" 명령어를 통해 특정 버전을 설치할 수 있습니다.

그럼, 아래처럼 노드의  최신 버전을 설치해 보도록 하겠습니다.

$ nvm install node  // 노드 최신버전 설치 명령어
$ nvm install --lts // LTS(Long Term Support) 최신버전 설치 명령어

마찬가지로 버전 8이나 14를 설치하고 싶으시다면 "nvm install 8 or nvm install 14"와 같이 명령어를 입력하면 됩니다.

 

특정 노드 버전으로 전환

아래 명령어로 현재 사용 중인 버전을 다른 버전으로 쉽게 전환할 수 있습니다.

$ nvm use <노드버전>

$ nvm use 14.17.5

 

특정 노드 버전 삭제

더 이상 사용하지 않거나 필요없는 경우 특정 노드를 삭제할 수 있습니다.

$ nvm uninstall <노드버전>

$ nvm uninstall 16.14.0

 

기본(default) 노드 버전 설정

"node use" 명령어는 현재 쉘에서만 유효합니다. 마지막으로 사용한 노드 버전을 재부팅 후에도 사용하려면 아래 명령어를 사용하여 기본 노드를 원하는 버전으로 설정해 주어야 합니다.

$ nvm alias default <노드버전>

$ nvm alias default 16.14.2

위 명령어를 실행 후 쉘을 종료하고 다시 실행해 주셔요.

 

참고 사이트

 

 

 

'BACKEND > Node.js+NestJS' 카테고리의 다른 글

Windows NVM 설치하기(install)  (1) 2023.12.17
Fastify 알아보기  (1) 2023.11.25
NestJS 알아보기  (0) 2023.11.25
Swagger 사용해 보기  (0) 2023.02.03
node.js 소개  (0) 2022.03.18