[Dev Log] Expo Go 실행 시 `runtimeVersion` 에러 발생

헤이안나·2025년 5월 19일
0

Expo Go로 앱을 실행하는데 다음과 같은 에러가 발생했다면:

You're currently using the bare workflow, where runtime version policies are not supported.
You must set your runtime version manually. For example: "runtimeVersion": "1.0.0"

✅ 발생 원인

runtimeVersion 설정은 버전 업그레이드 전에도 존재했지만,
Expo SDK를 ~53.0.9에서 ^53.0.9로 올린 이후부터는
Expo Go에서의 실행 시 policy: "appVersion" 설정이 더 이상 허용되지 않음.

"runtimeVersion": {
  "policy": "appVersion"
}

이 설정은 EAS Update + Dev Client 전용이며,
Expo Go에서는 이를 지원하지 않기 때문에 실행 중 에러가 발생한다.

📌 사실 원인은, 버전 문제가 아니라 npx expo run:android 명령어를 실행함으로 프로젝트가 자동으로 bare workflow로 전환되어 발생한 문제였다.,
이 상태에서는 runtimeVersion{ policy: "appVersion" } 형태로 되어 있으면
위 에러가 반드시 발생한다.

👉 즉, SDK 버전 문제가 아니라 expo run:android 실행으로 인해 발생한 문제였다.


✅ 해결 방법

📌 app.jsonruntimeVersion 값을 문자열로 명시적으로 고정:

"runtimeVersion": "1.0.0"

✅ 수정 후 해야 할 작업

  1. app.json 저장
  2. Metro 서버 재시작:
npx expo start --clear
  1. 터미널에서 a 입력하거나 Expo Go 앱으로 QR 코드 연결

✅ 요약

항목내용
원인Expo SDK 업그레이드 후 runtimeVersion 정책이 강화됨
에러Expo Go에서 { policy: "appVersion" } 미지원
해결"runtimeVersion": "1.0.0" 으로 수동 명시
실행Metro 재시작 후 정상 작동 ✅

Expo Go를 사용하는 경우, runtimeVersion은 항상 문자열로 명시해야
빌드 없이도 안정적으로 실행됩니다.

결과적으로는 npx expo run:android 입력 전으로 되돌려 작업중이다.

profile
리액트 공부하는 사람

0개의 댓글