728x90
반응형
🛠️ 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이면 → 라이브러리를 설치하는 도구
• 끝이 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 |
🎓 정리
• nvm과 fvm은 개발 환경 자체를 관리
• npm과 pnpm은 프로젝트의 라이브러리를 관리
• 둘 다 필요하며, 함께 사용됩니다!
• nvm과 fvm은 개발 환경 자체를 관리
• npm과 pnpm은 프로젝트의 라이브러리를 관리
• 둘 다 필요하며, 함께 사용됩니다!
728x90
'Tech Notes' 카테고리의 다른 글
| dart 비동기 (0) | 2025.10.23 |
|---|---|
| Flutter 앱 : 환경 구축하기 - fvm 설치하기[window] (0) | 2025.10.22 |
| OCR 이 뭘까? 개념과 어떻게 사용해야 하는지 알아보자! (0) | 2025.10.15 |
| 언제 try-catch, throw를 써야할까? (1) | 2025.10.11 |
| aws의 cdn, cloudfront 에 대해 알아보자 (1) | 2025.10.10 |