
데브옵스
Yarn Classic에서 Pnpm으로 전환하기 with TurboRepo
두줄요약
TurboRepo 모노레포에서 Yarn Classic의 유령 의존성 문제를 해결하기 위해 Pnpm으로 전환한 과정을 다뤘습니다. workspace 설정, 배포 환경 대응, 캐시 최적화로 설치 속도와 의존성 관리가 개선되었습니다.
핵심 내용
- TurboRepo 기반 모노레포에서 Yarn Classic 사용 시 성능 저하와 유령 의존성 문제가 발생
- Pnpm의 Content-addressable Store와 심볼릭 링크, 하드링크 구조로 중복 저장과 유령 의존성 완화
- workspace 설정, 의존성 정리, Amplify Preview 대응, GitHub Action 캐시 적용을 거쳐 마이그레이션 진행
- 설치 시간 단축과 엄격한 의존성 관리 개선, 모노레포 환경에서의 적용 가치 확인
적용해볼 점
- 모노레포에서 depcheck로 유령 의존성 점검
- 빌드·배포 환경별 pnpm linker 설정 분리 검토
- 공통 의존성 버전 통일과 syncpack 활용 고려
