Skip to main content

Command Palette

Search for a command to run...

node.js 버전 여러개 사용하기

Updated
2 min read

개발하다보면 프로젝트마다 필요한 node.js의 버전이 다른 경우가 있습니다. 매번 node.js를 지우고 다시 깔기는 너무 귀찮으니, 저 같은 경우 node.js 버전 관리자인 fnm을 이용해서 여러 버전을 동시에 설치하고 관리합니다. 다른 node.js 버전 관리자도 많지만, fnm이 가장 편하고 빨랐습니다.

설치 방법

설치 방법도 간단합니다. OS별 패키지 매니저로 설치할 수도 있고 스크립트로 설치할 수도 있는데요, 어느 쪽이든 한 줄로 끝납니다. 리눅스나 mac 같은 posix 계열 운영체재를 사용하시는 경우 아래 명령어를 터미널에서 입력하시면 설치가 끝납니다.

curl -fsSL https://fnm.vercel.app/install | bash

저 같은 경우는 맥북을 쓰기 떄문에 homebrew를 이용해서 설치했는데요, 역시 한줄로 끝납니다.

brew install fnm

모든 설치 방법 보기

--use-on-cd

fnm env 명령어의 --use-on-cd 옵션을 켜두면 프로젝트별로 필요한 node.js 버전이 다른 경우에 유용합니다. 이를 하기 위해서는, 쉘의 rc 파일을 열고

eval "`fnm env`"

eval "`fnm env --use-on-cd`"

로 바꾸시면 됩니다. 저는 zsh를 쓰므로, 제 rc 파일의 이름은 .zshrc 였습니다.

자동 완성 설정

명령어 자동 완성이 없으면 사용하기 불편하니까 자동 완성도 구성해주도록 하겠습니다. 설정 방법은 사용하는 쉘에 따라 조금씩 다른데요, 거의 비슷하니까 조금만 수정해주시면 됩니다.

저는 zsh를 사용하므로 아래처럼 설치했습니다.

# 홈에 .zsh_completions 폴더 생성
mkdir -p ~/.zsh_completions

# 자동완성용 파일 생성
fnm completions --shell zsh > ~/.zsh_completions/_fnm

# zsh에 자동완성 파일 등록
echo "fpath=(/home/.zsh_completions/_fnm $fpath)" >> ~/.zshrc

fnm 이용

이용법은 제가 실제로 쓰는 명령어들에 대해서만 적어보려고 합니다.

특정 버전의 node.js 설치

fnm이 node.js 버전 관리를 위해 존재하는 툴인만큼, node.js 설치가 매우 쉽습니다. 17 버전의 node.js를 설치하고 싶은 경우,

fnm install 17

를 하시면 됩니다. 아래는 제 컴퓨터에서 실행한 결과입니다.

❯ fnm install 17
Installing Node v17.9.1 (arm64)

v17.9.1이 깔린 걸 볼 수 있습니다.

현재 node.js 버전 확인

node 명령어의 버전을 알고 싶으신 경우 아래 명령어로 할 수 있습니다.

fnm current

특정 버전의 node.js로 전환

node 명령어의 버전을 바꾸고 싶으신 경우, 아래 명령어로 하실 수 있습니다.

fnm use 16

프로젝트별 node.js 버전 설정

여러 버전의 node.js 를 사용하는 주된 아유는 프로젝트마다 필요한 node.js 버전이 달라서인데요, 프로젝트별로 필요한 node.js 버전을 외우고 있어야하면 머리 아픕니다. 그래서 fnm.node-version, 혹은 .nvmrc라는 파일을 이용해서 프로젝트별로 자동으로 노드 버전 바꾸는 걸 지원합니다.

echo 'v18.3.0' > .node-version

위의 명령어를 터미널에 입력하시면 .node-version이라는 파일이 생성되는데요, 위에서 설명한 대로 --use-on-cd를 켠 채로 fnm을 구성해두셨으면 자동으로 노드 버전이 바뀝니다.

More from this blog

한국의 학벌에 대한 생각

내 블로그의 제목이 kdy1: The way I think 인만큼 앞으로는 내 생각을 더 자주 올리려고 한다. 한국 기준으로, 학벌은 사람을 볼 때 꽤나 유용한 지표이지만, 절대적이지는 않다. 경험적인 얘기일 뿐이지만, 성균관대학교 자퇴생으로서 느낀 것들이 몇 가지 있다. 대학까지 간 사람의 학벌은 학습 능력 x 성실함 에 대체로 비례한다. 그래서 의미가

Apr 3, 20261 min read

인간 지능에 대한 메모장

최종 업데이트: 2026/03/15 지능의 유전 현재 인류 기준으로, 고지능자는 고지능 유전자가 많이 겹친 사람이다. 지능의 유전엔 X 염색체가 매우 중요한 역할을 한다. 그리고 이게 남자와 여자의 지능 분포 차이를 만든다. 극상위권에 여자가 거의 없는 이유가 이것이다. 고지능 X 염색체가 여자한테서 발현되려면 2개가 있어야 한다. 이는 인간의 생

Mar 15, 20262 min read

Ai 코딩 팁 2 (한국어)

발표 자료: https://gamma.app/docs/AI--2a52e7tk3eb1ch1 AI 활용법 관련해서 간단하게 발표를 했다. 발표 자료 앞쪽은 전에 블로그에 올린 글이랑 같은 내용이다. 이 글에서는 기존 글에서 다루지 않은 내용들을 다루겠다. 에러 메시지 및 로깅 구체적 타입 및 스키마 활용 any 타입은 사람에게도 위험하지만, AI에게는 더 위험하다. 마찬가지로, JSON.parse처럼 아무 제약 없는 파싱 느슨한 인터페이스 ...

Jan 30, 20265 min read

kdy1: The way I think

233 posts