이것저것 개발기록

"npm은 이제 옛말?" pnpm과 yarn Berry가 사랑받는 이유 본문

IT 이야기

"npm은 이제 옛말?" pnpm과 yarn Berry가 사랑받는 이유

Garam Kim 2026. 1. 9. 12:00

"node_modules 폴더가 왜 이렇게 무거운 걸까요?"
자바스크립트 생태계의 고질적인 문제인 패키지 관리. npm, yarn, pnpm의 차이를 이해하고 내 프로젝트에 맞는 도구를 골라봅시다.

1. 패키지 매니저의 진화

처음에는 npm이 독점했지만, 느린 속도와 보안 문제로 yarn(Classic)이 등장했습니다. 이후 npm도 발전했지만, 여전히 거대한 node_modules의 구조적 한계(유령 의존성 등)를 해결하기 위해 pnpmyarn Berry가 등장했습니다.

2. pnpm의 마법: 심볼릭 링크(Symbolic Link)

pnpm은 같은 패키지를 여러 프로젝트에서 쓰더라도 디스크에 딱 한 번만 저장합니다. 대신 각 프로젝트의 node_modules에는 실제 파일이 아닌 하드 링크를 생성하죠. 덕분에 설치 속도가 압도적으로 빠르고 디스크 용량을 획기적으로 아낄 수 있습니다.

💡 실무 노트

최근 많은 기업들이 yarn Berry(v2 이상)Zero-Install 정책을 도입하고 있습니다. 의존성 파일을 Git에 올려서 npm install 과정 없이 바로 실행하게 만드는 기법이죠.

팁: 만약 대규모 모노레포(Monorepo) 구조를 고민 중이라면 pnpm을 강력 추천합니다. 의존성 관리가 훨씬 엄격해서 "내가 설치하지 않은 라이브러리를 몰래 가져다 쓰는" 실수를 원천 차단해 줍니다. 반면, 가벼운 개인 프로젝트라면 가장 표준적인 npm으로도 충분합니다. 도구를 고를 땐 유행보다 팀원들의 익숙함과 프로젝트의 규모를 먼저 고려해 보세요.

"도구의 차이를 아는 것이 효율적인 개발 환경 구축의 첫걸음입니다."