yarn과 pnpm은 npm과 똑같이 "코드 부품"을 설치하는 도구이고, 차이는 더 빠르거나 저장 공간을 아낀다는 점입니다.
2026년 7월 기준, 셋 다 여전히 현역이고 하는 일은 거의 같습니다.
이 글을 읽으면 npm·yarn·pnpm이 뭐가 다른지, 초보는 뭘 골라 쓰면 되는지, 그리고 AI가 프로젝트마다 다른 명령어를 주는 이유까지 한 번에 정리됩니다.
npm·yarn·pnpm은 같은 일을 하는 경쟁 도구입니다. 코드 부품을 설치·관리한다는 목적은 같고, 속도와 저장 방식만 다릅니다. 초보는 셋 중 하나만 정해 쓰면 됩니다.
이 셋은 전부 "패키지 매니저"입니다.
패키지 매니저는 쉽게 말해, 남이 만들어둔 코드 부품(라이브러리)을 내 프로젝트에 설치하고 관리해주는 도구입니다.
이게 왜 필요한지는 npm이 뭔지 다룬 글에서 자세히 풀었습니다.
한 줄로 요약하면, npm은 자바스크립트 세계의 앱스토어이고 `npm install`은 "부품 담아서 설치"입니다.
yarn과 pnpm은 그 앱스토어의 경쟁 앱이라고 보면 됩니다.
같은 부품을 설치하지만, 설치 속도나 저장 방식이 조금씩 다를 뿐입니다.
그래서 하나만 익혀두면 나머지도 명령어만 살짝 바꿔 쓸 수 있습니다.
세 도구가 언제 나왔고 뭐가 특징인지 표로 정리했습니다.
| 도구 | 등장 시기 | 특징 | 설치 명령 예 |
|---|---|---|---|
| npm | 2010년경 | Node.js와 함께 오는 기본 도구. 따로 설치 안 해도 있음 | npm install express |
| yarn | 2016년 (Meta) | 당시 npm보다 빠른 설치를 내세우며 등장 | yarn add express |
| pnpm | 2017년 | 저장 공간을 아끼는 방식으로 인기. 요즘 새 프로젝트에서 자주 언급됨 | pnpm add express |
표에서 보이듯, 명령어가 `install`이냐 `add`냐 정도만 다릅니다.
같은 부품(위 예시에서는 express)을 설치한다는 것 자체는 똑같습니다.
pnpm이 요즘 자주 추천되는 이유는 저장 방식이 영리하기 때문입니다.
보통 프로젝트를 여러 개 만들면, 프로젝트마다 같은 부품을 각각 복사해서 저장합니다.
똑같은 부품을 프로젝트 수만큼 중복 보관하는 셈이라 디스크가 금방 찹니다.
pnpm은 여기서 방식을 바꿉니다.
pnpm은 패키지를 디스크 한 곳에 모아두고, 프로젝트마다 하드링크로 연결합니다. 같은 버전이면 실제 파일은 하나만 존재해 디스크를 아낍니다.
하드링크는 쉽게 말해, 파일을 복사하지 않고 "같은 파일을 가리키는 바로가기"를 만드는 방식입니다.
덕분에 프로젝트가 여러 개여도 같은 부품은 실제로 한 번만 저장됩니다.
구체적인 절감 수치는 환경에 따라 다르므로, 여기서는 "중복을 줄여 공간을 아낀다" 정도로만 이해하면 충분합니다.
결론부터 말하면, 초보는 셋 중 아무거나 하나 정해서 쓰면 됩니다.
가장 부담 없는 선택은 npm입니다.
Node.js를 설치하면 자동으로 딸려 오기 때문에, 따로 설치할 게 없습니다.
세 명령어를 나란히 놓고 보면 차이가 한눈에 들어옵니다.
npm install express
yarn add express
pnpm add express
보다시피 셋 다 express라는 부품을 설치하는 명령입니다.
그러니 AI가 준 명령이 셋 중 무엇이든, 그대로 따라 쳐도 대부분 문제없이 돌아갑니다.
✅ 정리하면, 지금은 도구 선택을 고민하기보다 하나에 익숙해지는 게 먼저입니다.
AI로 코딩하다 보면 이 차이를 반드시 마주칩니다.
어떤 프로젝트를 AI에게 물으면 `npm install`을 주고, 다른 프로젝트에서는 `yarn add`나 `pnpm add`를 줍니다.
이유는 간단합니다.
AI는 그 프로젝트가 원래 쓰던 도구에 맞춰 명령을 알려주기 때문입니다.
이 셋이 "같은 일을 하는 경쟁 도구"라는 걸 알면, 명령이 달라져도 당황하지 않습니다.
개인적으로는 초보일수록 도구를 늘리기보다, 하나를 손에 익히고 나머지는 "명령어만 다른 사촌" 정도로 알아두는 편이 훨씬 편하다고 봅니다.
네, 바꿀 수 있습니다.
셋 다 같은 부품 목록(package.json)을 읽기 때문에, 도구를 바꿔도 프로젝트는 그대로 돌아갑니다.
처음엔 npm으로 익숙해진 뒤, 필요를 느낄 때 옮겨도 늦지 않습니다.
꼭 그럴 필요는 없습니다.
새 프로젝트에서 pnpm 얘기가 많이 나오는 건 맞지만, 저장 공간 절약이 큰 이점이 되는 건 프로젝트가 여러 개 쌓였을 때입니다.
처음 한두 개를 만드는 단계라면 npm으로도 충분합니다.
Node.js 공식 문서(nodejs.org)와 pnpm 공식 문서(pnpm.io/motivation)의 저장 방식 설명을 참고했습니다. 도구별 등장 시기와 특징은 공개된 릴리스 기록을 기준으로 정리했으며, 정확한 버전·수치는 발행 전 공식 문서 확인이 필요합니다.
| 빌드(build)가 뭐야 — 개발용 코드를 배포용 완제품으로 굽기 (0) | 2026.07.21 |
|---|---|
| .gitignore가 뭐야 — 깃허브에 올리지 말 것 목록 (0) | 2026.07.21 |
| IP·도메인·DNS 차이 쉽게 정리 — 인터넷 주소의 3형제 (0) | 2026.07.21 |
| TSX가 뭐야 — JSX에 안전벨트(타입)를 더한 파일 (0) | 2026.07.21 |
| JSX가 뭐야 — 자바스크립트 안에 HTML을 넣는 문법 (0) | 2026.07.21 |
댓글 영역