본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

Yarn Berry를 제대로 운영하는 법

~9 min · yarn, wisdom, production

Level 0입문자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

Yarn Berry는 이 퀘스트에서 운영 철학이 가장 뚜렷한 패키지 관리자야. 아래 원칙을 지키면 그 철학이 방해물이 아니라 생산성을 높이는 규칙으로 작동해.

Berry를 가볍게 고르지 마. 팀이 작고 도구 체계가 빠르게 변하며 monorepo나 zero-installs가 필요 없다면 npm이나 pnpm이 더 편해. Berry의 장점은 크고 안정적인 프로젝트에서 시간이 갈수록 쌓여.

PnP 사용 여부를 처음에 정해. IDE SDK와 bundler를 설정하고 마찰을 감수하며 PnP를 채택하거나, 첫날부터 nodeLinker: node-modules를 설정해. 프로젝트 중간에 바꾸면 비용이 커.

Zero-installs를 택하면 Git LFS를 설정해. .yarn/cache/는 빠르게 커지므로 일반 Git 객체로만 보관하면 저장소가 비대해져. .yarn/cache/**/*.zip에 Git LFS를 적용해 clone 가능한 크기를 유지해.

Constraints는 유지보수의 강력한 도구야. 여러 팀이 한 monorepo에서 PR마다 서로 다른 공유 의존성 버전을 추가하기 시작하면 constraints가 질서를 지켜 줘. 문제가 터진 뒤가 아니라 그 전에 설정해.

새 프로젝트에서는 Yarn Classic을 쓰지 마. 유지보수 전용이라는 말은 보안 수정만 받고 새 기능과 생태계 투자는 없다는 뜻이야. 새로 시작한다면 Berry를 선택해.

Code

zero-installs와 Git LFS용 .gitattributes·text
# .gitattributes
.yarn/cache/**/*.zip filter=lfs diff=lfs merge=lfs -text

# 그 다음 repo 에 LFS 활성화:
#   git lfs install
#   git lfs track ".yarn/cache/**/*.zip"
#   git add .gitattributes
#   git commit -m "chore: lfs for yarn cache"

External links

Exercise

기존 프로젝트에 Berry를 도입하려면 bundler, IDE, 타입 검사기, linter, 테스트 실행기 등 핵심 도구 다섯 개를 적고 각각 PnP 지원 여부를 확인해. 세 개 이상이 지원하지 않는다면 처음부터 'nodeLinker: node-modules'를 쓸 계획을 세워. 나중에 도구 체계와 싸우는 것보다 미리 아는 편이 훨씬 나아.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.