npm vs yarn vs pnpm

Younha Lee·2026년 1월 16일

TIL

목록 보기
14/60
post-thumbnail

노드 패키지 매니저들

개발을 하다 보면 다른 개발자들은 npm 말고 yarn이나 pnpm 같은 걸 쓰는 걸 종종 볼 수 있어요.
오늘은 Node.js 생태계의 대표적인 패키지 관리자 3대장, npm, yarn, pnpm의 특징과 차이점을 아주 쉽게 비교해 보겠습니다.

1. npm (Node Package Manager)

Node.js를 설치하면 기본으로 깔려있어요.
매우 큰 패키지 저장소를 가지고 있어서 원하는 라이브러리는 거의 다 찾을 수 있어요.

장점

  • 접근성 최고: Node.js만 깔면 바로 쓸 수 있어요. 따로 설치할 필요가 없어요
  • 커뮤니티: 사용자가 가장 많아서 오류가 났을 때 구글링하면 해결책이 바로 나와요.

단점

  • 속도: 패키지를 순차적으로 설치하기 때문에, 프로젝트가 커지면 설치 속도가 조금 느릴 수 있어요.
  • 무거운 용량: node_modules 폴더가 더 무거워져요

2. Yarn (Yet Another Resource Negotiator)

2016년, 페이스북(현 Meta)에서 npm의 단점(느린 속도, 보안 이슈)을 해결하기 위해 만든 도구예요.
지금은 npm도 많이 빨라졌지만, 등장 당시에는 매우매우 빨랐어요.

특징

  • 병렬 설치: npm이 한 줄 한 줄 다운로드한다면, Yarn은 여러 파일을 동시에 다운로드해서 속도가 빨라요.
  • 보안: 패키지 설치 시 체크섬(Checksum)을 확인해서 보안성이 좀 더 뛰어나요.
  • Yarn Berry (v2 이상): 최근에는 node_modules 폴더 자체를 없애버리는(PnP 방식) 획기적인 기능도 도입했어요.

3. pnpm (Performant npm)

"왜 똑같은 라이브러리를 프로젝트마다 매번 설치해야 해?"라는 의문에서 시작된 도구예요.
최근 들어 가장 핫하게 떠오르고 있는 패키지 관리자에요.

작동 방식이 아주 독특해요.

  1. npm/yarn: A 프로젝트와 B 프로젝트에서 똑같이 React를 쓴다면, 각각의 폴더에 React를 따로따로 설치해요. (용량 2배 차지함)
  2. pnpm: 컴퓨터 내부의 거대한 공용 저장소React를 딱 한 번만 저장해요. 그리고 A, B 프로젝트에는 그 저장소로 가는 바로가기(링크)만 연결해줘요.

장점

  • 디스크 용량 절약: 중복된 패키지를 저장하지 않으니 용량을 획기적으로 아낄 수 있어요.
  • 설치 속도: 링크만 연결하면 되니까 설치 속도가 엄청나게 빨라요.

각자 장단점이 뚜렷해서, 팀끼리 맞춰서 사용하면 좋습니다!

profile
할 땐 하고 놀 땐 노는 일일놀놀입니다.

0개의 댓글