開発2026-06-06
Expo Go でアプリが動かない:新しい SDK はまだ Expo Go に対応していないことがある
SDK をアップグレードしたら Expo Go で動かなくなった。新しい SDK のリリース直後は Expo Go 側の対応が遅れる。Xcode シミュレーターに移行すれば解決する。
expo-router のバージョンを package.json に手書きで指定したら動かなくなった。Expo SDK 56 からバージョン体系が変わっていた話。
事象
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 --simulator # iOS シミュレーター
npx expo run:ios # iOS(ビルドあり)
npx expo run:android # Android エミュレーター
シミュレーターはアプリ本体をビルドして端末に直接インストールするため、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との照合で確認できる
※ 本記事にはアフィリエイトリンクが含まれます。