본문 바로가기
Tech Notes

nvm? npm? fvm? 헷갈리지?

by miracle-tech 2025. 10. 22.
728x90
반응형
nvm, fvm, npm, pnpm 완벽 정리

🛠️ nvm, fvm, npm, pnpm 완벽 정리

헷갈리는 개발 도구들, 한 번에 이해하기

💡 핵심 포인트

vm = Version Manager (버전 관리자) → SDK 버전 바꾸기

pm = Package Manager (패키지 관리자) → 라이브러리 설치하기

📊 전체 비교표

도구 역할 관리 대상 설명
nvm 버전 관리 Node.js SDK Node.js 버전 전환 (예: v16 → v20)
fvm 버전 관리 Flutter SDK Flutter 버전 전환 (예: 3.10 → 3.16)
npm 패키지 관리 JavaScript 라이브러리 Node.js 기본 패키지 매니저
pnpm 패키지 관리 JavaScript 라이브러리 npm의 빠른 대체품 (디스크 절약)

🔍 상세 설명

📦 Version Managers (vm)

  • nvm: Node.js 버전 관리
  • fvm: Flutter 버전 관리
  • 개발 환경 자체를 전환
  • 프로젝트마다 다른 버전 사용 가능

📚 Package Managers (pm)

  • npm: Node 기본 패키지 매니저
  • pnpm: 빠르고 효율적인 npm
  • 라이브러리 설치 및 관리
  • 의존성 관리 자동화

💻 사용 예시

nvm (Node Version Manager)

# Node.js 20 버전 설치 nvm install 20.0.0 # Node.js 20 버전 사용 nvm use 20.0.0 # 설치된 Node.js 버전 목록 nvm list

fvm (Flutter Version Manager)

# Flutter 3.16 버전 설치 fvm install 3.16.0 # Flutter 3.16 버전 사용 fvm use 3.16.0 # 설치된 Flutter 버전 목록 fvm list

npm (Node Package Manager)

# React 설치 npm install react # 개발 의존성 설치 npm install --save-dev typescript # 전역 패키지 설치 npm install -g nodemon

pnpm (Performant npm)

# React 설치 (npm과 동일한 명령어) pnpm install react # 더 빠른 설치 속도 pnpm install # 디스크 공간 절약 pnpm store status

🎯 이름 패턴 분석

도구 약자 풀이 의미
nvm Node Version Manager Node 버전 관리자
fvm Flutter Version Manager Flutter 버전 관리자
npm Node Package Manager Node 패키지 관리자
pnpm Performant npm 빠른 npm
💡 쉽게 기억하는 법
• 끝이 vm이면 → SDK 버전을 바꾸는 도구
• 끝이 pm이면 → 라이브러리를 설치하는 도구

🔄 실제 개발 워크플로우

Node.js 프로젝트

# 1. nvm으로 Node.js 버전 선택 nvm use 20.0.0 # 2. npm/pnpm으로 라이브러리 설치 npm install # 3. 개발 시작! npm run dev

Flutter 프로젝트

# 1. fvm으로 Flutter 버전 선택 fvm use 3.16.0 # 2. pub으로 라이브러리 설치 flutter pub get # 3. 앱 실행! flutter run

📌 npm vs pnpm 비교

특징 npm pnpm
설치 속도 보통 ⚡ 빠름
디스크 사용량 중복 저장 💾 심볼릭 링크로 절약
기본 제공 ✅ Node.js와 함께 ❌ 별도 설치 필요
명령어 npm install pnpm install
🎓 정리
nvmfvm은 개발 환경 자체를 관리
npmpnpm은 프로젝트의 라이브러리를 관리
• 둘 다 필요하며, 함께 사용됩니다!
728x90