Replit에서 모바일 앱을 빌드할 때 미리보기, 번들링, 패키지 의존성 관련 문제가 발생할 수 있습니다. 이 가이드는 빠른 해결 방법부터 심층 디버깅 단계까지 일반적인 문제를 해결하는 데 도움을 줍니다.Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
빠른 해결 방법
먼저 이 방법들을 시도하세요 — 대부분의 문제는 이것으로 해결됩니다:| 문제 | 시도할 방법 |
|---|---|
| 변경 사항이 휴대폰에 표시되지 않음 | 휴대폰을 흔들어 Expo 메뉴를 열고 Reload 탭하기 |
| 변경 사항이 미리보기에 표시되지 않음 | 콘솔에서 R 키를 눌러 재번들 |
| 앱이 멈추거나 응답하지 않음 | 콘솔에서 앱을 중지하고 다시 시작 |
일반적인 문제
변경 사항이 기기에 나타나지 않습니다
변경 사항이 기기에 나타나지 않습니다
변경했지만 휴대폰에서 보이지 않을 때:
- 휴대폰을 흔들어 Expo 개발자 메뉴를 엽니다
- Reload를 탭하여 번들을 다시 다운로드합니다
Expo Go에서 빨간 오류 화면이 표시됩니다
Expo Go에서 빨간 오류 화면이 표시됩니다
빨간 오류 화면은 보통 JavaScript 오류 또는 누락된 모듈을 나타냅니다. 오류 메시지를 읽어보세요 — 특정 파일과 줄을 가리키는 경우가 많습니다.일반적인 원인:
- 패키지가 설치되지 않았거나 잘못된 버전임
- 모듈이 웹에서는 작동하지만 네이티브에서는 작동하지 않음 (또는 반대)
- 코드의 문법 오류
- 오류 메시지를 주의 깊게 읽으세요 — 무엇이 잘못되었는지 정확히 알려주는 경우가 많습니다
- 메시지를 공유하여 Agent에게 오류 수정을 요청하세요
- 오류에 특정 패키지가 언급된 경우 의존성을 다시 설치해보세요 (패키지 재설치 참조)
앱이 웹에서는 작동하지만 휴대폰에서 충돌합니다 (또는 반대)
앱이 웹에서는 작동하지만 휴대폰에서 충돌합니다 (또는 반대)
일부 패키지나 기능은 플랫폼별로 다르게 작동합니다. React Native는 iOS, Android, 웹 세 가지 타겟으로 컴파일됩니다. 웹에서 작동하는 라이브러리가 네이티브를 지원하지 않거나 다른 구성이 필요할 수 있습니다.시도할 방법:
- 패키지 문서에서 해당 플랫폼을 지원하는지 확인하세요
- Agent에게 질문하세요: “Is this package compatible with Expo Go?”
- 모바일에서 지원되지 않는 경우 기능을 서버로 이동하는 것을 고려하세요
QR 코드가 스캔되지 않거나 앱이 연결되지 않습니다
QR 코드가 스캔되지 않거나 앱이 연결되지 않습니다
네트워크 확인:
- 휴대폰과 컴퓨터가 동일한 WiFi 네트워크에 있어야 합니다
- 일부 기업 또는 공공 네트워크는 연결을 차단합니다
npx expo start --tunnel을 실행하세요.Expo Go 재시작:
스캔하기 전에 Expo Go를 완전히 닫고 다시 열어보세요.빌드 시간이 너무 오래 걸립니다
빌드 시간이 너무 오래 걸립니다
캐시가 없기 때문에 첫 번째 빌드는 항상 더 느립니다. 이후 빌드는 더 빨라야 합니다.빌드 시간에 영향을 미치는 요소:
- 프로젝트의 패키지 수
- 캐시를 지운 후 첫 번째 실행
- 패키지 다운로드 시 네트워크 속도
모듈을 찾을 수 없다는 오류가 발생합니다
모듈을 찾을 수 없다는 오류가 발생합니다
“Unable to resolve module” 또는 “Module not found”가 표시될 때:
- 패키지가 설치되지 않았을 수 있습니다 — Agent에게 설치를 요청하세요
- 패키지가 설치되어 있지만 캐시가 오래되었을 수 있습니다 — 캐시를 지우세요
- 패키지가 존재하지 않거나 철자가 틀렸을 수 있습니다 — 패키지 이름을 확인하세요
디버깅 명령어
빠른 해결 방법이 작동하지 않을 때 이 명령어들은 다양한 캐시와 상태를 초기화하는 데 도움이 됩니다. Shell에서 실행하세요.Metro 캐시 지우기
Metro는 React Native 코드를 컴파일하는 번들러입니다. 캐시를 지우면 새로운 빌드가 강제됩니다. 셸에서 실행하세요:패키지 재설치
모듈 오류나 버전 불일치가 발생하면 패키지를 재설치하는 것이 도움이 되는 경우가 많습니다. 셸에서 실행하세요:package.json을 기반으로 처음부터 다시 설치합니다.
프로젝트에서 다른 패키지 매니저(예:
bun 또는 pnpm)를 사용하는 경우 적절한 설치 명령어를 사용하세요: bun install 또는 pnpm install.버전 불일치 확인
Expo Doctor는 패키지 간 버전 불일치 같은 일반적인 문제를 프로젝트에서 스캔합니다. 셸에서 실행하세요:전체 초기화
다른 방법이 모두 효과가 없을 때 전체 초기화를 통해 모든 캐시를 지우고 모든 것을 재설치합니다.최후의 수단: 전체 초기화 명령어
최후의 수단: 전체 초기화 명령어
이 명령어는 모든 캐시를 제거하고 패키지를 처음부터 재설치합니다. 최후의 수단으로 사용하세요.이 명령어가 하는 일:
rm -rf node_modules— 설치된 패키지 삭제rm -rf .expo— Expo의 로컬 캐시 삭제npm cache clean --force— npm의 전역 캐시 지우기npm install— 모든 패키지 재설치npx expo start --clear— 새로운 Metro 캐시로 시작
기기에서 캐시 지우기
다시 로드한 후에도 휴대폰의 앱이 이전 코드로 멈춰 있는 것처럼 보인다면:- iOS: Expo Go에서 Settings로 이동하여 Clear Cache 탭하기
- Android: Settings > Apps > Expo Go > Storage > Clear Cache로 이동
빠른 참조
| 문제 | 먼저 시도 | 그 다음 시도 |
|---|---|---|
| 변경 사항이 표시되지 않음 | 휴대폰 흔들기 → Reload | Metro 캐시 지우기 |
| 번들러 오류 | npx expo start --clear | node_modules 삭제 |
| 모듈을 찾을 수 없음 | 의존성 재설치 | 전체 초기화 |
| 버전 불일치 경고 | npx expo-doctor 실행 | 제안된 수정 사항 평가 |
| 새 패키지가 작동하지 않음 | 서버 재시작 | Metro 캐시 지우기 |
| app.json 변경 | 서버 재시작 | — |
추가 도움 받기
여전히 막혀 있다면:- Agent에게 질문하세요: 오류와 시도한 방법을 설명하세요. Agent가 문제를 진단하고 수정할 수 있는 경우가 많습니다.
- Expo 문서 확인: Expo 문제 해결 가이드에서 추가 시나리오를 다룹니다.
- 오류 검색: 정확한 오류 메시지를 복사하여 검색하세요 — 이미 누군가가 이 문제를 겪었을 가능성이 높습니다.
다음 단계
- Native Mobile Apps로 돌아가기
- 전체 퍼블리싱 흐름 알아보기: Build and launch a mobile app