그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Architecture
Architecture

패키지 매니저 pnpm과 yarn berry에 대해 설명해주세요.

실무3/5
설계4/5
인간4/5
기초2/5

면접관의 질문 의도

두 매니저의 기능을 나열할 수 있는지가 아니라, 모듈 해석 모델이 다르다는 점과 그 차이가 빌드·에디터·CI에 어떻게 번지는지를 그리는 사람인지를 가른다. 후속 질문은 보통 유령 의존성·PnP 호환성·Zero Install 운영으로 이어진다.

큐레이션 답변

학습 자료

pnpm은 전역 content-addressable store에 패키지 실체를 한 번만 받아두고, 프로젝트 node_modules 안에는 심볼릭 링크로 끌어다 쓰는 방식이다. 그래서 같은 버전의 패키지가 여러 프로젝트에 깔려도 디스크는 한 번만 차지하고, 평탄화하지 않은 트리 구조로 만들어 선언하지 않은 의존성(유령 의존성)도 함께 차단한다. Yarn Berry는 한 발 더 나가 node_modules 자체를 안 만들고, .pnp.cjs라는 인덱스로 "이 패키지는 디스크 어디에 있다"를 직접 매핑하는 PnP 모델을 쓴다. 둘 다 모노레포·워크스페이스를 지원한다는 점은 같지만, pnpm은 "기존 node_modules 구조를 더 효율적으로 다듬는 쪽", Yarn Berry는 "Node의 모듈 해석 자체를 바꿔치우는 쪽"이라는 점에서 결이 다르다.

좋은 답변 구조

  1. 01pnpm과 Yarn Berry를 각각 "무엇을 어떻게 해석하는 도구"인지 한 줄로 정의한다
  2. 02핵심 차이 축을 "node_modules를 유지하는가 / PnP로 갈아치우는가", "평탄화하는가 / 트리 그대로 두는가"로 정리한다
  3. 03장점과 함께 호환성·러닝커브·CI 캐시 같은 운영 비용을 균형 있게 짚는다
  4. 04어떤 상황에서 pnpm을 고르고 어떤 상황에서 Yarn Berry까지 가는지를 선택 기준으로 답한다

자주 실수하는 포인트

"설치가 빠르다"만 강조하고 모듈 해석 모델이 다르다는 본질을 못 짚는다
유령 의존성이 왜 생기는지, 두 매니저가 그걸 어떻게 다르게 막는지를 설명하지 못한다
Yarn Berry PnP를 "단순히 node_modules가 없는 버전"으로 뭉뚱그려 호환성 이슈를 가벼이 본다
도입 기준 없이 "우리도 pnpm 씁니다" 식으로 일반화해 팀 규모·의존성 구성과 연결하지 못한다

실무 맥락

  • 여러 앱·라이브러리를 한 저장소에 두고 의존성을 공유하는 모노레포 구성
  • 도커 이미지 빌드 또는 CI 캐시에서 node_modules가 비대해져 빌드 시간이 누적되는 환경
  • Storybook·Next.js·Webpack 플러그인 등 자체 모듈 해석 가정을 가진 도구가 많이 섞인 프론트엔드 스택
  • Zero Install·committed cache처럼 의존성을 저장소에 함께 두는 운영을 검토 중인 팀

본인 경험에 녹이는 힌트

npm에서 pnpm으로 옮겨 설치 시간이나 도커 이미지 크기가 줄어든 경험이 있다면 측정 수치와 그 이면의 해석 모델 차이로 답을 연결할 수 있다

유령 의존성 때문에 빌드는 되는데 다른 환경에서 깨진 경험이 있다면 두 매니저가 어떻게 그 길을 막는지로 끌고 갈 수 있다

Yarn Berry PnP 환경에서 특정 라이브러리가 안 돌아 unplugged·patch-package 같은 회피책을 쓴 경험이 있다면 호환성 이야기를 구체적으로 풀 수 있다

모노레포 워크스페이스에서 패키지 간 의존성 경계를 정리한 경험이 있다면 "어떤 매니저가 그 경계를 더 자연스럽게 강제하는가"로 답을 한 단계 깊게 만들 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1유령 의존성은 정확히 왜 생기나요? npm 평탄화와 어떻게 연결되나요?
Q2Yarn Berry PnP가 깨지는 대표 케이스는 무엇이고, 그때 unplugged·patch-package는 어떤 위치에 있나요?
Q3Zero Install을 도입하면 저장소 운영(레포 크기·diff·코드 리뷰)에는 어떤 부담이 추가되나요?
Q4pnpm의 심볼릭 링크 구조가 Docker 멀티 스테이지 빌드나 코드 푸시 환경에서 문제가 되는 경우는 어떻게 다루나요?
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문