Expo

Expo EAS Build 오류 해결: 로컬은 되는데 원격 빌드만 실패할 때

2026.05.10·수정 2026.05.12·약 6분

Expo EAS Build 오류 핵심 점검 순서

Expo EAS Build는 로컬 개발 서버와 다른 원격 빌드 환경에서 실행됩니다. 이 글은 eas.json profile, app.json/app.config.ts, Android/iOS credentials, Expo SDK 패키지 버전을 실제 오류 상황 기준으로 확인하는 순서를 정리합니다.

Expo 빌드 오류가 로컬에서는 안 나고 EAS Build에서만 나는 경우

Expo EAS Build 오류 해결 원인 진단 흐름

Expo Go나 로컬 개발 서버에서 정상이어도 EAS Build는 원격 환경에서 네이티브 빌드를 수행합니다. 그래서 로컬에서 보이지 않던 credentials, app config, native dependency, 환경변수 문제가 빌드 단계에서 드러날 수 있습니다.

  1. EAS Build 로그에서 첫 번째 failed task를 찾습니다.
  2. install, config, credentials, native compile 중 어느 단계인지 분류합니다.
  3. eas.json profile과 실행 명령을 비교합니다.
  4. npx expo doctornpx expo install로 SDK 호환성을 확인합니다.

eas.json profile 이름과 실행 명령이 맞지 않을 때

eas build --profile preview로 실행했는데 eas.json에는 production 기준 설정만 있다면 예상과 다른 환경변수나 distribution 설정으로 빌드될 수 있습니다. profile 이름과 실제 배포 목적을 맞춥니다.

eas build --platform android --profile preview

해결 순서는 실행 명령 확인 → eas.json profile 확인 → Android/iOS별 설정 확인 → 다시 빌드입니다.

app.json과 app.config.ts 설정이 EAS Build에 반영되지 않을 때

정적 app.json과 동적 app.config.ts를 함께 쓰면 실제 최종 설정이 무엇인지 헷갈릴 수 있습니다. 환경변수를 읽어 bundle identifier, package name, API URL을 만드는 경우 원격 빌드 환경에도 같은 값이 있어야 합니다.

  • 최종 config 출력으로 실제 반영 값을 확인합니다.
  • 환경변수 기반 설정은 EAS Secrets 또는 build profile env를 확인합니다.
  • bundle identifier와 Android package 이름이 배포 계정 설정과 맞는지 봅니다.

Android만 실패하거나 iOS만 실패하는 경우

Expo EAS Build 오류 해결 해결 단계 체크리스트

Android만 실패하면 package name, signing, Gradle, native dependency를 먼저 보고, iOS만 실패하면 bundle identifier, provisioning profile, capability, CocoaPods 단계를 봅니다. 한 플랫폼만 실패하는데 JavaScript 코드만 계속 바꾸면 원인을 늦게 찾게 됩니다.

  1. Android 로그: Gradle task와 signing 단계 확인
  2. iOS 로그: provisioning, capability, pod install 단계 확인
  3. 공통 실패: dependency install, Expo SDK 호환성, 환경변수 확인

Expo SDK와 패키지 버전이 맞지 않을 때

Expo SDK와 패키지 버전이 맞지 않으면 로컬에서는 돌아가도 원격 빌드에서 실패할 수 있습니다. 특히 네이티브 모듈이 포함된 패키지는 SDK 호환 버전을 맞춰 설치해야 합니다.

npx expo doctor
npx expo install package-name

수정 후에는 같은 profile로 다시 빌드하고, 실패 단계가 install에서 native compile 또는 success로 바뀌었는지 확인합니다.

Expo EAS Build 오류 FAQ

Expo Go에서는 되는데 EAS Build에서만 실패할 수 있나요?

가능합니다. Expo Go는 개발 런타임이고 EAS Build는 원격 네이티브 빌드라서 credentials, native config, SDK 호환성 문제가 따로 드러날 수 있습니다.

app.json과 app.config.ts 중 무엇을 봐야 하나요?

실제 빌드에 반영되는 최종 config를 봐야 합니다. 동적 config가 환경변수로 값을 만들면 EAS 원격 환경에도 같은 값이 필요합니다.

Android만 실패하면 어디부터 보나요?

package name, signing, Gradle task, Android native dependency를 먼저 확인합니다.

관련 배포 오류는 어디서 더 보나요?

Vite, Vercel, Expo를 포함한 배포 오류 흐름은 프론트엔드 배포 오류 체크리스트에서 묶어 확인할 수 있습니다.

이 글이 마음에 드세요?

RSS 피드를 구독하세요!

“Expo EAS Build 오류 해결: 로컬은 되는데 원격 빌드만 실패할 때”에 대한 5개의 생각

댓글 남기기