Node 버전 관리 도구로 줄곧 nvm을 사용하다가 Rust로 작성된 fnm이 nvm에 비해 40배 이상 빠르다는 글을 보고 바꿔야겠다고 마음 먹었다. volta, fnm 둘 중 고민하다가 결국 fnm을 선택했다. nvm 인터페이스와 거의 동일하고 .nvmrc 파일을 지원 하는점이 마음에 들었다.

nvm은 bash 스크립트로 작성됐기 때문에 기본적으로 Unix 계열에서만 작동하는 반면, fnm은 Windows도 지원하는 장점이 있다. fnm으로 바꾸고 나서부터 터미널 로드 속도가 훨씬 빨라진게 체감된다.

<aside> <img src="/icons/bookmark-outline_gray.svg" alt="/icons/bookmark-outline_gray.svg" width="40px" /> fnm은 Fast Node Manager의 약자다.

</aside>

설치 방법



패키지 설치

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

구성 설정

fnm에서 기본적으로 비활성화된 기능은 fnm env 뒤에 기능 플래그를 추가해서 활성화할 수 있다. 전체 플래그 목록은 fnm 공식 문서에서 찾을 수 있다. 아래 코드를 ~/.zshrc 파일에 추가한다.

eval "$(fnm env --use-on-cd --version-file-strategy=recursive)"

아래 두 플래그 모두 공식 문서에서 권장하는 기능으로 활성화해 두고 사용하는 걸 추천한다.

자동 완성 설정

Oh My Zsh 사용자는 ~/.zshrc 파일 plugins 배열에 fnm을 추가하면 명령어 자동 완성을 사용할 수 있다.