開発2026-06-06
Expo Go でアプリが動かない:新しい SDK はまだ Expo Go に対応していないことがある
SDK をアップグレードしたら Expo Go で動かなくなった。新しい SDK のリリース直後は Expo Go 側の対応が遅れる。Xcode シミュレーターに移行すれば解決する。
SDK をアップグレードした直後、Expo Go でアプリが起動しなくなった。コードは何も変えていない。原因は Expo Go 側の SDK 対応が追いついていなかったことだった。
事象
npx expo startして Expo Go で QR コードを読み込むと起動しない- 「この SDK バージョンはサポートされていません」系のエラーが出る
- 再インストールしても変わらない
- コードは変えていないのに急に動かなくなった(SDK アップグレード直後)
原因
Expo Go は App Store / Google Play で配布されているアプリで、対応できる SDK バージョンに上限がある。
Expo SDK の新バージョンがリリースされてから Expo Go 側がそのバージョンに対応するまでに、タイムラグが生じることがある。SDK のメジャーアップグレード直後はこの状況になりやすい。
SDK リリース → [対応ラグ] → Expo Go がその SDK に対応
この空白期間中は Expo Go でそのバージョンのアプリを動かせない。
解決策
Xcode シミュレーター(iOS)または Android エミュレーターに切り替える。
npx expo start --ios # iOS シミュレーターで開く
npx expo run:ios # ネイティブビルドして実機/シミュレーターへ
npx expo run:android # ネイティブビルドして Android へ
npx expo start --ios はシミュレーターを起動して開発サーバーに繋ぐ。ネイティブモジュールの追加などでアプリ本体のビルドが必要なら npx expo run:ios を使う。後者はアプリを端末に直接インストールするため、Expo Go のバージョン制約を受けない。SDK の対応状況に左右されず、最新 SDK で動作確認できる。
Expo Go 側が更新されれば再び使えるようになる。ストアの「アプリのアップデート」を確認してみる。
補足
- Expo Go は手軽に使えるが、ネイティブモジュールや SDK の新機能との相性問題が起きやすい。開発が進むにつれて Expo Go を離れ、Development Build(
expo-dev-client)へ移行するのが一般的 npx expo install --fixでパッケージを SDK に合わせてからnpx expo startし直すと、それだけで解決する場合もある- Expo Go の対応 SDK バージョンは Expo Go のストアページ または
npx expo --versionとの照合で確認できる