[NVM] 여러개의 Node.js 를 관리해보자

eunniverse·2024년 5월 30일
0

글 쓰게된 계기

여러개의 프로젝트를 하다보면 다양한 라이브러리의 Node.js 버전 호환 문제를 겪을 때가 있다. 그럴 때 사용하면 좋은 게 NVM 이고, 나도 NVM의 장점을 경험해본 사람으로서 소개하면 좋을 것 같아서 글을 쓰게 되었다!

Node Version Manager??

  • 정의
    Node.js 버전을 관리하는 도구

  • 장점

  1. 다양한 버전의 Node.js를 설치할 수 있도록 관리
  2. 간단한 명령어로 사용할 Node.js 버전을 변경할 수 있음

Node Version Manager 비교하기

Node Version Manager 는 여러 종류가 있다. 이 포스팅에서 비교할 대상은 NVM, FNM, Volta 이다.

NVM (Node Version Manage)

  • 초기에 등장했고, 가장 인기 있는 솔루션
  • 사용자별로 설치되고 shell 별로 호출되도록 설계된 node.js용 버전 관리자
  • macOS, Widnows, Linux 지원
  • nvm 동작이 느려지는 상황도 발생함
    why??
    터미널 경로를 옮겨다닐 때마다 잠시동안 터미널이 멈추고 프로젝트에 설정된 .nvmrc 파일을 찾아 명시된 버전으로 Node.js 버전을 맞추기 때문이다

Volta

  • Rust 기반으로 만들어졌고, Node.js 버전 변경이 빠른 편
  • 크로스 플랫폼 지원
  • 여러 사람이 작업할 때 동일한 Node.js 버전을 맞춤
  • 툴체인 관리기능 지원
    툴체인 관리기능이란?
    패키지 관리자로 Yarn을 사용할 경우, Node.js 버전 뿐만 아니라 Yarn 버전도 동적으로 변경 가능
    어떻게?
     "volta": {
       "node": "18.17.0",
       "yarn": "1.22.22"
     }
  • volta install 명령어로 모든 것을 처리함
    $ volta install node@18.15.0 # 정확한 버전 설치
    $ volta install node@18 # 알아서 적절한 18버전대 버전 설치
    $ volta install node # LTS latest 버전 설치

FNM (Fast Node Manager)

  • Volta 와 같이 Rust 기반으로 만들어졌고, Node.js 버전 변경이 빠른 편
  • 현재 위치한 폴더 기반 Node.js 버전 자동 전환
    어떻게?
    예를 들어 두개의 프로젝트를 전환하면 프로젝트 내의 node-version 파일에 따라 자동으로 node.js 버전이 변경된다.
  • macOS, Widnows, Linux 지원

NVM 사용해보자 (Windows 기준)

  1. NVM 다운로드
    https://github.com/coreybutler/nvm-windows/releases 에서 다운로드 받을 수 있다.
    (nvm-setup.exe 다운로드)
  2. PowerShell 혹은 CMD 를 관리자 권한으로 열어서 하기 명령어를 사용한다.
# node.js 버전 설치하기
nvm install v12.18.0

# node 최신 버전 설치 (설치 당시 기준)
nvm install node

# 설치되어 있는 가장 최신버전의 node를 디폴트로 사용하기
nvm alias default node

# node LTS 최신버전 설치
nvm install --lts

# 필요없는 node 버전 삭제하기
nvm uninstall <version>

# 현재 사용중인 버전 확인하기
nvm current

# 설치된 node.js 목록 확인하기
nvm ls

# 설치할 수 있는 모든 Node.js 조회
nvm ls-remote

# 특정 버전의 node 사용하기
$ nvm use ${version}

# node.js 설치 경로 확인하기
which node
profile
능력이 없는 것을 두려워 말고, 끈기 없는 것을 두려워하라

0개의 댓글