NVM 이란?

NVM(Node Version Manager)은 다양한 버전의 Node.js를 간편하게 설치하고 관리할 수 있게 도와주는 도구 입니다. 여러 프로젝트를 진행하다 보면 각 프로젝트에 요구하는 Node.js 버전이 다를 수 있는데 이런 경우 NVM을 사용하면 필요한 버전의 Node.js를 설치하고 쉽게 전환할 수 있습니다.

NVM의 주요 기능

  1. Node.js 버전 설치 및 관리
    • 특정 버전의 Node.js를 쉽게 설치하고, 필요에 따라 버전을 전환할 수 있다.
    • 설치된 버전을 확인하거나, 필요하지 않은 버전을 삭제할 수 있다.
  2. 버전 전환:
    • 프로젝트별로 Node.js 버전을 사용할 수 있다.
    • nvm use <버전> 명령어를 사용해 즉시 원하는 버전으로 전환할 수 있다.
  3. 설치 가능한 버전 목록 확인
    • nvm ls-remote 명령어를 사용해 설치 가능한 모든 Node.js 버전 목록을 확인할 수 있습니다.

NVM 설치 방법

macOS

1. Homebrew 설치 (초기세팅)

  • Homebrew`는 Mac용 패키지 관리자이다. 사용하면 간단한 명령어로 필요한 패키지를 설치할 수 있다.
# homebrew 를 설치한다. 
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. nvm 설치

  • homebrew를 통해 NVM을 설치한다.
brew install nvm

3. nvm 설치되었는지 확인

nvm -v

4. .nvm 폴더 생성

  • 홈 폴더에 .nvm 폴더를 생성
# 홈으로 이동
cd ~

# .nvm 생성
mkdir .nvm

5. 환경변수 설정하기

  • 사용하고 있는 쉘의 종류에 따라 파일을 변경해준다. (.bashrc, .bash_profile, .zshenv 등등)
# zsh 은 둘 중에 하나로 사용하면 된다.
vim ~/.zshenv
vim ~/.zprofile

# bash
vim ~/.bash_profile

아래 코드를 붙여넣기 하고 저장한다. (:wq)

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

입력 후 esc 누르고 :wq 로 저장후 종료한다.

내용을 넣어준 이후 환경 변수가 적용될 수 있게 해주어야 되기 때문에, source 라는 명령어를 입력해 환경 변수를 적용시켜 준다.

#zsh
source ~/.zshenv
source ~/.zprofile

#bash
#source ~/.bash_profile

nvm을 찾지 못하면 환경변수 등록해주고 source로 적용해주고 나면 nvm 버전 확인이 가능하다.

NVM으로 node 설치하기

노드버전 설치하기

install 명령어를 사용해 특정 노드 버전을 설치할 수 있다.

nvm install v18.15.0

만약 lts 버전(서버환경에서 장기적으로 안정적 지원을 제공하는 버전)을 설치하고 싶다면, 아래 명령어를 사용하자.

nvm install --lts

node, npm 버전 확인하기

node -v 

npm -v

설치된 노드 목록 보기

만약 설치된 node버전을 보고 싶다면 nvm ls를 해보자

nvm

nvm 기본(default) 노드 버전 변경하는 방법

nvm_change

default를 변경하도록 하겠습니다. 아래 nvm 명령어로 default alias를 변경합니다.

nvm alias default <버전>  

nvm 사용하는 명령

1) nvm ls : 설치된 nvm 확인
2) nvm install 18 :  18 버전 설치
3) nvm use lts 18 :  18버전으로 변경
4) nvm list  :  설치된 nvm 확인

Node.js LTS(Long-Term Support)란 무엇인가?

node.js 는 매년 마다 새로운 기능과 개선 사항을 포함하는 새로운 메이저 버전이 출시합니다. LTS는 장기 지원(Long-Term Support) 을 의미 하며 안정화된 버전 (Stable)이라고 합니다. 지속적으로 관련 라이브러리들이 업데이트 되기 때문에 동일한 기간 동안 지원되는 버전과 최신 버전을 구분해 배포하는 방식입니다. Node.js에서 LTS 버전은 메이저 버전 중 일부를 선정해 특별한 장기간 동안 사용하도록 선정한 것입니다. 일정 기간 동안 보안 업데이트와 버그 수정을 제공하여 안정적이고 신뢰성을 제공하므로 기업과 같은 큰 규모의 프로젝트 또는 엔터프라이즈 환경에서 사용 할 수 있습니다.

참고문헌 NVM 설치 및 명령어 https://clgnsdl94.tistory.com/87
NVM 설치 및 명령어 정리 https://webruden.tistory.com/1050
기본(default) 노드버전 변경하는 방법 https://webruden.tistory.com/1050