피드로 돌아가기
How to Fix "Module Could Not Be Found" in React Native & Expo
Dev.toDev.to
Frontend

JS 번들과 Native Layer 간 동기화 불일치 해결을 통한 앱 빌드 안정화

How to Fix "Module Could Not Be Found" in React Native & Expo

Asta Silva2026년 6월 16일4beginner

Context

React Native 및 Expo 환경에서 JavaScript 번들은 Metro를 통해 Hot-reload가 가능하나, Native Layer의 Kotlin/Java 및 Swift/Objective-C 코드는 정적 컴파일 방식임. 신규 Native Module 설치 시 JS Bundle과 기존에 빌드된 App Binary 간의 버전 불일치로 인한 Invariant Violation 발생.

Technical Solution

  • Native Module의 물리적 통합을 위한 App Binary 재컴파일 수행
  • Custom Native Directory의 동기화 오류 해결을 위한 npx expo prebuild --clean 기반의 네이티브 프로젝트 재생성
  • Metro Bundler의 오래된 Dependency Graph 제거를 위한 -c 플래그 기반의 Cache Clear 수행
  • JS Bundle과 Native Layer의 상태를 일치시켜 TurboModuleRegistry의 모듈 탐색 실패 문제 해결

1. Native Module 포함 라이브러리 설치 후 반드시 npx expo run:[ios/android]로 바이너리 재빌드

2. 네이티브 디렉토리 불일치 시 prebuild --clean 명령어로 환경 초기화 및 재구성

3. 빌드 후에도 동일 증상 발생 시 Metro 캐시 강제 삭제 후 서버 재시작

원문 읽기