콘텐츠로 건너뛰기

NVM 설치 및 Node.js 버전 관리

NVM (Node Version Manager) 은 Node.js를 쉽게 설치하고 설치된 버전을 관리할 수 있는 도구입니다. 해당 도구를 사용하면 시스템 전체에 영향을 주지 않고 사용자, 프로젝트 별로 Node.js 버전 관리가 가능합니다. 이번 포스팅에서는 NVM 설치 및 Node.js 관리 방법에 대해서 알아보도록 하겠습니다.

왜 NVM을 사용해야 할까요?

Node.js 기반으로 여러 프로젝트를 관리하는 개발자라면 프로젝트에 맞게 Node.js 버전을 설치하고 관리해야 한다. 프로젝트를 로컬에서 실행할 때 Node.js 버전에 맞게 실행해야 하는데 이는 여간 번거로운게 아니다. 이러한 불편함을 손쉽게 해결해 줄 수 있는 것이 NVMNode Version Manager이다.

NVM은 명령어 기반으로 Node.js 버전을 관리할 수 있는 도구이다. 명령어를 통해 원하는 Node.js 버전을 설치할 수 있고, 사용자 또는 프로젝트 별로 Node.js 버전을 변경하여 사용할 수 있다.

NVM 설치

NVM은 공식적으로 homebrew 설치를 지원하지 않기 때문에 GitHub에서 제공하는 설치 스크립트를 사용하여 설치해야 한다. 설치와 관련한 자세한 내용은 GitHub Repository에서 확인할 수 있다.

아래와 같이 터미널을 열고 설치 스크립트를 실행하여 설치를 진행한다.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

설치는 자동으로 진행되며, 설치가 완료되면 터미널에서 아래 명령어를 실행한다.

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

사용 방법

터미널에서 명령어 기반으로 Node.js를 설치하고 관리할 수 있다. 아래 예시에서 <version> 부분은 모두 version-like18.20, v18.20.1, v18 형태 모두 사용 가능합니다.

Node.js 설치

nvm install 명령으로 원하는 버전을 설치하거나 최신 버전 또는 LTS 버전을 설치할 수 있다.

# 특정 버전 설치하기
# nvm install <version>
$ nvm install 18.20
$ nvm install v18.20.1
$ nvm install v18

# Node 최신 버전 설치
$ nvm install node

# Node LTS 최신버전 설치
$ nvm install --lts
Zsh

Node.js 버전 변경

node use <version> 명령으로 사용하고자 하는 Node.js 버전을 변경할 수 있다.

# nvm use <version>
$ nvm use v18.20.1
Zsh

Node.js 삭제

node uninstall <version> 명령으로 Node.js 버전을 삭제할 수 있다.

# nvm uninstall <version>
$ nvm uninstall v18.20.1
Zsh

설치된 Node.js 버전 확인

nvm ls 명령으로 설치된 Node.js 버전을 확인할 수 있다.

# 설치된 Node 목록 확인
$ nvm ls
Zsh

기타 명령어

추가로 터미널 실행 시 기본 버전을 변경하거나 최신 버전을 사용하는 방법은 다음과 같다.

# 터미널 실행 시 기본 버전
# nvm alias default <version>
$ nvm alias default v18.20.1

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

마치며

NVM은 Node.js 개발 환경에서 필수적인 도구로, 여러 프로젝트에서 요구되는 다양한 버전의 Node.js를 손쉽게 관리할 수 있고, 더욱 효율적이고 유연한 개발 환경을 구축할 수 있을 것입니다.

이 글이 NVM을 처음 사용하는 분들께 도움이 되길 바랍니다.

관련 포스트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다