목록 보기
Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션
프론트엔드

Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션

마켓컬리
마켓컬리
2026년 1월 30일

두줄요약

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 호환성 확보

컬리 계열사 채용12건

채용 사이트에서 전체 보기

다음 읽기

#Nx 주제를 이어서 읽기

Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션

Nx 18에서 Bun을 쓰면 lock file 감지와 파싱 문제로 마이그레이션이 꼬일 수 있었습니다. Bun 1.2.x와 Nx 21.4+로 올려 `bun.lock`을 쓰자 빌드와 CI가 안정화되었습니다.

마켓컬리
마켓컬리
데브옵스

댓글 0개

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

댓글을 불러오는 중...