본문 바로가기
Q&A2026년 5월 2일1분 읽기

Bun 2.0 도입했는데 node_modules 그대로 둬도 되나요?

한
한동욱
조회 1261댓글 1

회사에서 Bun 2.0 도입을 결정해서 마이그레이션 중인데요, 기존 node_modules가 npm으로 설치된 상태입니다. bun install 돌리기 전에 삭제해야 하나요? 아니면 그냥 위에 덮어써도 되나요?

그리고 package-lock.json은 어떻게 처리하면 좋을까요?

댓글 1

김김영삼6개월 전

둘 다 정리하고 가는 걸 추천합니다.

# 기존 잔재 삭제
rm -rf node_modules package-lock.json

# Bun으로 새로 설치 (package.json만 보고)
bun install
# → bun.lockb 생성됨

이유:

  1. 해석 차이: npm/yarn/pnpm과 Bun이 의존 트리를 평탄화하는 방식이 미묘하게 다릅니다. 위에 덮어쓰면 일부 패키지가 두 군데 깔리는 듯한 모호한 상태가 만들어질 수 있어요.
  2. 락파일 충돌: package-lock.json과 bun.lockb를 같이 두면 CI에서 어느 쪽을 신뢰할지 혼란이 생깁니다. Bun으로 가는 거면 lockb만 남기세요.
  3. 네이티브 모듈 재빌드: sharp·better-sqlite3처럼 prebuild가 있는 패키지는 깨끗한 환경에서 새로 받는 게 안전합니다.

한 가지 주의 — 모노레포라면 workspaces 정의를 package.json에 그대로 두고 Bun이 알아서 인식합니다. 별도 변환 작업 없습니다.

Ctrl+Enter로 등록