Monorepo · pnpm · Turborepo 2026

2026 프론트엔드 모노레포 피해야 할 점:
원격 Mac에서 pnpm·Turborepo 원격 캐시·레지스트리 미러 비교 3단계

2026.03.24 MacWww 9분 읽기

원격 Mac에서 pnpm·Turborepo를 쓰면 캐시 적중이 들쭉날쭉하거나 미러만 바꿨는데 CI와 해석이 갈라지기 쉽습니다. 로컬 대 원격 Turbo 캐시 표, 미러 리스크 표, 그리고 환경 변수·turbo.json·CI 세 줄기 설정을 정리했습니다. 블로그··요금으로 이어집니다.

01 원격 Mac에서 캐시·설치가 흔들리는 이유

SSH마다 경로·프로필이 다르고 CI는 다른 유저로 돕니다. pnpm 스토어·링크와 Turbo 입력 해시가 Node·레지스트리·미선언 env에 민감해 풀 리빌드가 납니다.

  1. env 미선언: 빌드가 읽는 값이 turbo.json에 없으면 원격 캐시 히트가 엇나갈 수 있음.
  2. 스토어 분산: 잡마다 스토어 경로가 다르면 용량 중복·하드링크 깨짐.
  3. 미러 지연: 메타데이터가 어긋나면 락을 써도 기계별 해석이 달라 보임.

02 로컬 Turbo 캐시 vs 원격 캐시

원격 캐시는 팀 공유에 유리하지만 env·입력 선언이 엄격해야 안전합니다.

항목 로컬 원격
속도 한 대에 빠름, 인스턴스 교체 시 소실 키 일치 시 CI·동료와 공유
비용 디스크 위주 토큰·쿼터·네트워크
실패 미스 시 로컬 재빌드 오히트 시 출력 틀어짐, 읽기 중단·입력 수정 필요

03 미러 전환 리스크

문제는 미러 단일화가 아니라 기계마다 .npmrc·인증·스코프 설정이 달라 tarball이 갈라질 때입니다. 전환 직후 아래 세 가지를 먼저 점검하세요.

리스크 증상 완화
메타 지연 CI와 Mac 패치 불일치 락 커밋·--frozen-lockfile
혼합 레지 스코프만 공식 npm 등 해시 불일치 루트 .npmrc 단일 정책
토큰 원격 Mac만 401 CI·Mac 동일 호스트·시크릿

04 1단계 환경 변수

Mac 셸 프로필·팀 문서·CI 시크릿에 동일한 값을 두고 갱신 시 함께 바꿉니다.

  • 고정 pnpm 스토어·PNPM_HOME으로 SSH 간 재사용.
  • NPM_CONFIG_REGISTRY 또는 루트 .npmrc로 미러 폴백 차단.
  • 원격 캐시 허용 환경에만 TURBO_TOKEN·팀 슬러그, 디버깅 시 해제.
  • .node-version·fnm·nvm으로 CI와 Node 메이저 일치.

05 2단계 turbo.json 요점

  • outputs·좁은 inputs로 산출·무효화 범위 명시.
  • 빌드에 필요한 env만 env·passThroughEnv에 넣기.
  • globalDependencies에 락·npmrc·툴체인 파일 포함.
Node·pnpm 격리·번들러 캐시와 병행하세요.

06 3단계 CI 일치

  • Mac·CI 모두 pnpm install --frozen-lockfile 기본.
  • turbopackage.json에 고정 후 pnpm exec turbo.
  • 포크 PR에는 원격 캐시 쓰기 토큰 비주입.
  • 컨테이너는 Docker·Playwright 가이드로 Node·pnpm 맞추기.
인용 가능 규칙

락은 항상 커밋·CI는 frozen만. 빌드 env는 turbo에 전부 선언. 미러 바꾸면 락 갱신 후 풀 빌드 한 번. 배포 검증은 배포·Safari 3단계 참고. 블로그··요금은 로그인 없이 이용 가능.

모노레포 빌드용 원격 Mac

스토어·Turbo 캐시를 한 호스트에 모으려면
Mac Mini M4 렌탈을 검토하세요

요금 확인·바로 구매는 로그인 없이 진행됩니다. 블로그에서 프론트 실전 글을 이어서 읽어 보세요.

로그인 없이 M4 예약