개발 잘 하고 싶다 => 알고 쓰자/JavaScript

23.10.25 - 노드 버전은 fnm 으로 관리하자

장 상 현 2023. 10. 25.

nvm vs volta vs fnm

  1. nvm (Node Version Manager):
    • 장점:
      • 널리 알려진 Node.js 버전 관리 도구로 많은 사용자와 커뮤니티 지원이 있습니다.
      • macOS, Linux, Windows에서 사용 가능하며, 크로스 플랫폼 지원이 강력합니다.
      • 사용법이 간단하고, Bash와 Zsh와 같은 쉘에서 사용하기 쉽습니다.
    • 단점:
      • Windows에서는 제한된 기능을 제공할 수 있으며, 설치 및 사용에 약간의 제약이 있을 수 있습니다.
      • 모든 기능이 자동화되어 있지 않으므로 고급 사용자들에게는 유연성이 부족할 수 있습니다.
  2. volta:
    • 장점:
      • TypeScript로 작성되어 안정적이고 성능이 우수합니다.
      • Node.js 버전 및 패키지 관리를 통합적으로 제공하므로 편리합니다.
      • 프로젝트마다 Node.js 버전을 설정하고 패키지 빌드를 쉽게 관리할 수 있습니다.
    • 단점:
      • 아직까지 상대적으로 새로운 도구이며, 사용자 수가 nvm보다 적을 수 있습니다.
      • 일부 사용자들은 Rust 컴파일러에 의존하여 설치 및 업그레이드에 시간이 소요될 수 있습니다.
  3. fnm (Fast Node Manager):
    • 장점:
      • 이름에서 알 수 있듯이 빠르고 경량화된 Node.js 버전 관리 도구입니다.
      • 기능이 간소화되어 있어 간단한 사용법과 빠른 성능을 제공합니다.
      • Shell agnostic하게 설계되어 다양한 쉘에서 사용할 수 있습니다.
    • 단점:
      • 특정 사용 사례를 위해 설계되었으므로, 다른 도구와 비교하여 고급 기능이 부족할 수 있습니다.
      • 사용자 커뮤니티가 작아 정보 및 지원이 부족할 수 있습니다.

그렇다고 한다.

 

개인적으론 프로젝트 루트 디렉토리에 .node_version 파일을 만든 후 버전을 명시만 해 두면

 

프로젝트 폴더에 진입 시 자동으로 변환 해 주는 fnm 이 가장 마음에 들어 채택!

 

MAC 기준 설치 & 사용법

Homebrew 로 fnm 설치

brew install fnm

fnm 환경변수를 ~/.zshrc 에 추가

vim ~/.zshrc
eval "$(fnm env --use-on-cd)"

terminal에서 현재 개발 버전에 맞는 node.js 설치 (예시로 20)

fnm install 20

node -v 로 현재 버전 확인 후 20이 아니라면 아래 명령어 실행

fnm use 20

또는, 해당 프로젝트의 디렉토리를 벗어난 후 재진입 시 자동으로 .node_version 파일의 node 버전이 설정 됨

 

좋다!

댓글