💡 pnpm이란?
pnpm은 Node.js에서 사용하는 패키지 매니저
자주 사용하는 npm, yarn이랑 같은 역할을 함.
🤔 그럼 왜 npm이나 yarn 대신 pnpm을 쓰는 거야?
✅ 1. 훨씬 빠르고 가볍기 때문
- pnpm은 패키지를 중복으로 설치하지 않고, 링크(link) 해서 써.
- 예를 들어, 같은 라이브러리를 client랑 server에서 쓰면,
- npm은 각각 설치함 → 용량 낭비
- pnpm은 한번만 저장소에 설치하고, 필요한 곳에 심볼릭 링크로 연결함 → 속도 빠름, 용량 아낌
 
🧠 비유:
npm은 책 복사해서 두 권 만드는 느낌,
pnpm은 책 하나 만들고 여러 곳에 공유 링크 거는 느낌이야.
✅ 2. 모노레포에 최적화
- 프로젝트가 client, server, lib처럼 나뉘어 있을 때,
- pnpm workspace를 쓰면 이걸 하나의 프로젝트처럼 관리할 수 있어!
- 루트에서 한 번에 실행하고, 공통 의존성도 관리 가능함.
✅ 3. 더 안전한 설치
- pnpm은 node_modules를 정리된 방식으로 만들어서,
- 잘못된 의존성 설치나 버전 충돌을 줄여줘.
- 특히 팀 프로젝트에서 "어? 이거 왜 내 환경에선 다르게 작동하지?" 같은 문제가 줄어듦.
🛠️ 기본 사용법
npm install -g pnpm
pnpm install          # 의존성 설치
pnpm add react        # 패키지 추가
pnpm remove axios     # 패키지 삭제
pnpm dev              # 실행 스크립트 (package.json에 정의한 것)
📦 우리가 사용한 구조 (예시)
vbnet
복사편집
pnpm-workspace.yaml
client/   👈 프론트엔드
server/   👈 백엔드
lib/      👈 공통 타입이나 유틸
- 루트에서 한 번에 의존성 설치 및 실행 가능
- 공통 설정, 공통 코드도 한눈에 관리 가능
"pnpm은 더 빠르고, 가볍고, 모노레포에 딱 맞는 최신 패키지 매니저야.
특히 client, server처럼 여러 패키지를 하나의 프로젝트처럼 관리할 수 있게 도와줘!"
 
 
회고
오늘은 드디어 내 인생 두번째 개발 프로젝트에 들어간다.
오늘은 서비스 기획과 노션환경 정리, 초기 빌드 환경 셋팅까지만을 마쳤다. 사실 탄탄한 기획이 빠른 결과물을 완성한다고 본다~~!
 
그리고 당연하지만...툴은 한번 다뤄본다고 체화되지는 않는 것 같다..^^ 
git으로 협업하는게 오랜만이라 금세 다 까먹어버려서 ㅋㅋㅋㅋㅋㅋ.... 팀원분이 pull request올린 것을 내가 바로 머지 해버렸다.
리뷰 하는것부터 다시 배워가는 하루ㅎㅎ.....
 
이 외에도 pnpm이라든가, 타입스크립트와 같이 처음 접해보는 스택을 이번 프로젝트에서 다 다루게 될 것 같다.
아직 부족한게 많은 나지만.... 이번 프로젝트는 저번에 비해 기간도 팀원도 더 널널하기에 개인공부 할 시간도 가질 수 있을 것 같다는 생각이 든다. 개인공부 시간때 틈틈이 pnpm, 타입스크립트, 리액트를 야금야금 공부해서 기여할 수 있도록 해야지!!
 
무엇보다 이런 프로젝트 경험이 굉장히 많으신듯한 팀원분이 계셔서 진행이 아주 매끄럽게 되었다. 
나도 내가 할 수 있는 역량을 최대한 발휘해야겠다. 
api를 다루는 것도 각자 역할을 분담해서 하는 것도 모든 게 낯설기만 하지만 견뎌내보자ㅜ^ㅜ
 
'웹 개발 일기 > [LG유플러스] 유레카' 카테고리의 다른 글
| [학습 기록] Day70: 미니프로젝트2(3) (0) | 2025.05.13 | 
|---|---|
| [학습 기록] Day69: 미니프로젝트2(2) (5) | 2025.05.13 | 
| [학습 기록] Day67 (0) | 2025.05.02 | 
| [학습 기록] Day65 (1) | 2025.04.30 | 
| [학습 기록] Day64: API 사용하기 (2) - Tanstack Query (2) | 2025.04.29 | 
 
				