Yarn 은 2016년 Facebook (이제 Meta) 이 만듦, 그 당시 npm 의 진짜 문제였던 install 속도 + lockfile 재현성 fix 위해. 그 후 몇 년에 npm 이 따라잡았고, Yarn 이 둘로 split: Yarn Classic (v1), 원조, 이제 maintenance-only 모드; 그리고 Yarn Berry (v2-v4), 같은 팀의 거의 전체 리라이트, 급진적 새 아이디어로. 오늘 새 프로젝트 시작하면 Yarn Berry 의미 — 절대 Yarn Classic 아님.
Yarn Berry 의 헤드라인 기능은 Plug'n'Play (PnP): node_modules 완전 제거. 패키지가 .yarn/cache/ 의 zip 파일로 저장, 단일 생성된 파일 (.pnp.cjs) 이 모든 import 를 right zip entry 에 매핑. 8만 개 node_modules 파일 traverse 안 함; phantom deps 없음; install time 극적으로 떨어져. trade-off 는 일부 도구 (PnP 모르는 일부 IDE, 옛 bundler) 가 plugin 없이 PnP 이해 못 함.
Berry 의 다른 큰 아이디어는 zero-installs: .yarn/cache/ 를 Git 에 commit. 새 팀원이 clone 후 즉시 코드 실행 — yarn install 단계 전혀 없음. CI 가 install 건너뜀. trade-off 는 더 큰 Git repo, 그치만 install time 이 CI 지배하는 팀에겐 5-10x speedup.
Yarn v4 (현재, Node 18+ 필요) 가 이전 별도 plugin 들 다 core 로 fold, Berry 가 v3 보다 cold install 3.9x 빠름, Prolog 제약 엔진을 JavaScript 기반으로 교체. JS 패키지 매니저 중 가장 야심찬 — 그리고 가장 opinionated.