목록 보기
리멤버 웹 서비스 좌충우돌 Yarn Berry 도입기
프론트엔드

리멤버 웹 서비스 좌충우돌 Yarn Berry 도입기

리멤버
리멤버
2025년 1월 13일

두줄요약

리멤버 웹 서비스에 Yarn Berry를 점진적으로 도입한 과정과 문제 해결 경험을 정리했습니다. PnP와 Zero-Installs로 빌드 시간과 의존성 관리 안정성을 개선했고, 각종 호환 이슈도 함께 다뤘습니다.

문제 상황

  • 리멤버 웹 서비스의 기존 yarn classic 환경에서 패키지 관리 효율과 안정성 개선 필요
  • node_modules 기반 탐색 비용, 유령 의존성, 환경 차이로 인한 디버깅 부담

원인 분석

  • node_modules 구조의 디스크 I/O 중심 모듈 탐색
  • 호이스팅으로 인한 의존성 유효성 저하와 phantom dependency 발생
  • 브랜치·로컬·CI·배포 환경 간 설치 결과 불일치

해결 방법

  • Yarn Berry의 PnP와 Zero-Installs로 의존성 트리와 캐시를 관리
  • .yarnrc.yml, packageExtensions, VSCode SDK, Dockerfile을 함께 조정
  • ESLint, TypeScript, GitHub Packages, 빌드 파이프라인까지 단계적으로 마이그레이션

성능/운영 포인트

  • 패키지 용량 감소와 빌드 시간 약 50초~1분 단축
  • Zero-Installs로 반복 install 감소, 동일 환경 보장
  • CodeBuild 캐시 최적화로 추가 빌드 시간 절감

다음 읽기

#Yarn Berry 주제를 다룬 다른 회사 글

모노레포 적용부터 yarn berry까지

멀티레포의 중복과 표준화 문제를 해결하기 위해 Yarn Berry 기반 모노레포를 설계했습니다. PnP 캐싱의 한계를 분석하고, 필요한 코드만 배포하는 yarn release 플러그인을 구현했습니다.

화해
화해
프론트엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...