Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션
두줄요약
Nx와 Bun 조합을 Nx 18에서 21.4 이상으로 마이그레이션하며 lock file 감지·파싱 문제를 해결했습니다. Bun의 텍스트 lock file 전환으로 CI와 빌드 효율, 도구 호환성을 함께 개선했습니다.
문제 상황
- Nx 18과 Bun 조합에서
yarn.lock우선 감지로nx migrate가 Yarn 설치를 시도하는 문제 - Nx 19와 바이너리
bun.lockb,@nx/webpack의generatePackageJson조합에서 lock file 파싱 오류
원인 분석
- Nx 18의 패키지 매니저 감지 대상에서
bun.lockb제외와yarn.lock우선순위 - 구형 Bun 바이너리 lock file의 External Node 메타데이터 해석 누락
해결 방법
- 마이그레이션 중
yarn.lock을 임시 제거해 npm fallback으로 Nx 19.5 이상까지 업그레이드 - Bun 1.2.x와 Nx 21.4 이상으로 올려
bun.lockb를 텍스트 기반bun.lock으로 전환 - 우회 설정 대신 공식 지원 버전 조합 선택으로 Storybook 9 요구사항까지 충족
성능/운영 포인트
- cold start 기준 의존성 설치와 빌드 시간 약 60% 단축
- CI 파이프라인 14%, Artifact 크기 15% 감소
- 단일 텍스트 lock file 기반 PR diff 확인과 Dependabot 호환성 확보


