nvm

줌인·2025년 11월 6일

백엔드

목록 보기
12/12

nvm

= NodeJS Version Manager

  • Node.js 버전을 관리하기 위한 도구
  • 여러 Node.js 버전을 쉽게 바꿔 써야 할 때 매우 유용
  • 개발용 환경이라면 Homebrew 대신 nvm 사용을 권장하는 경우가 많음

어떻게 버전을 쉽게 바꿔 쓰게 할 것이냐

nvm install 18
nvm install 20
nvm use 18   # Node 18로 전환
nvm use 20   # Node 20으로 전환

이런식으로 여러 버전을 설치할 수가 있다.

그런데 문제는 버전을 바꿀 때만 nvm use를 사용해주면 되는 게 아니라 터미널을 열 때마다 그 터미널에서 어떤 버전의 node를 쓸 지 매번 nvm use를 해줘야 한다.

그래서

nvm alias default lts/*라는 코드를 추가해두면 터미널을 열 때마다 use를 사용하지 않고 항상 기본적으로 lts 버전의 node를 불러올 수 있도록 활성화한다.

그런데 또 문제는 그럼 lts버전이 바뀌면 불러오는 버전도 바뀌어서 기존 프로젝트에서의 일부 패키지나 native 모듈(node-gyp 등)이 깨질 수 있다.
특히 협업 프로젝트나 배포 서버 환경에서는 치명적인 버전 불일치가 날 수도 있음

그래서
nvm alias default 20이런 식으로 현재 쓰는 LTS버전을 명시해서 입력해둬야함

추가) corepack

nvm을 통해 node의 버전관리를 쉽게 할 수 있다.
그런데 node16버전 이상부터는 node를 설치할 때 corepack이라는 것도 딸려온다. 여기 안에는 pnpm 등이 들어있어서 pnpm을 전역적으로 설치하지 않아도 되고 다음 코드와 같이 활성화시키는 방법으로 사용할 수 있다/

corepack enable
corepack prepare pnpm@9.12.3 --activate //예시 버전

버전을 바꿀 때마다 한 번씩 위 코드를 입력해줘야 한다. 이러면 pnpm install등 pnpm을 전역설치 없이 사용할 수 있다.
또한 노드 버전을 바꾸는 게 아니라 프로젝트에 따라 pnpm버전만 바꿔야할 때도 있다. 이럴 때는
corepack prepare pnpm@<그 프로젝트 버전> --activate
해주면 된다.

profile
지극히 개인적인 복습 블로그

0개의 댓글