SKILL ARTICLE / expo-upgrade
Expo SDK更新を、依存関係と移行点から進める
SDK更新を、依存関係と移行点の確認から進める。
Expo SDKの更新時に、依存関係の整合、診断、ネイティブ構成、廃止パッケージ、リリース固有の変更を順に確認する公式Skillです。
OVERVIEW → CAN DO → BUILD
知ったことをSkillづくりに活かす
SDK更新では、パッケージの版合わせ、ネイティブ構成、廃止API、キャッシュ、版固有の注意が別々の資料に散りやすい。expo-upgradeは、それらをプロジェクトの状態に応じて確認する順番へまとめている。
このプロジェクトに必要な更新手順と対象外を分け、変更前後の診断と主要機能の確認項目を残せる。
公式Skillは、更新コマンドの前にネイティブディレクトリの有無を確認します。ただし、ディレクトリの存在だけではCNGか手動管理かを確定できません。自分たちのSkillでも、Gitの追跡状態、生成方法、...
01 / OVERVIEW
Skillの概要
expo-upgradeは、Expo公式が公開するオープンソースのSkillです。確認した固定版ではSkill version 1.0.0、Expoプラグイン version 1.10.2で、Expo SDK 53以降の変更点を参照資料へ分けながら、SDK更新と依存関係の問題を扱います。Skill本体の最終変更は2026年8月13日で、SDK 57までの注意が含まれています。
公式Skillは、Expoと関連パッケージの更新、`npx expo install --fix`、`npx expo-doctor`、対象SDKのリリースノート確認を一つの流れに置きます。Expo公式の更新資料は原則としてSDKを一つずつ上げることを勧めています。一方、確認した固定版Skillには、Hermes V1のメモリ回帰を避けるため、SDK 55以前からはSDK 56を経由せずSDK 57の`expo@57.0.9`以降へ進むという版固有の例外があります。将来の版にも当てはめず、実行時のリリースノートで更新経路を決めます。
ネイティブ構成では、`ios/`・`android/` がないことはCNGを使う有力な手掛かりですが、ディレクトリがあるだけで手動管理とは確定しません。Gitの追跡状態、生成方法、config plugins、手動編集の有無まで確認します。公式READMEはCodexとClaude Codeにはプラグイン全体の導入を推奨しています。この記事の単体導入コマンドは隔離環境で`expo-upgrade`だけを確認した補足経路であり、`skills@latest`が取得する内容は更新されるため、この記事の固定版と同一とは限りません。
02 / CAN DO
できるようになること
ExpoアプリのSDK更新で、package.jsonだけを書き換えて終わらず、依存関係の整合、Expo Doctorの診断、ネイティブプロジェクトの管理方法、廃止パッケージ、キャッシュやパッチの残りを順に確認できます。変更前に現在のSDK、移行先、Gitの追跡状態、ネイティブディレクトリの生成方法を整理すると、プロジェクトに当てはまる手順と対象外の手順を分けやすくなります。更新経路は、段階更新の原則と対象版に記載された例外を分けて判断します。
ただし、このSkillが更新の成功や互換性を保証するわけではありません。リリースノート、実機またはシミュレーターでの主要機能確認、アプリ固有のネイティブ変更の確認は別途必要です。`npx expo prebuild --clean`、依存関係の更新、キャッシュ削除などは作業ツリーを変えるため、差分を保存し、実行内容を確認してから進めます。
活かしやすい場面
- Expo SDKを新しい安定版へ更新する
- 更新後の依存関係の不整合を調べる
- CNGと手動管理のネイティブプロジェクトで手順を分ける
使う前に確認したい場面
- リリースノートを確認せず最新SDKへ自動更新する作業
- 未保存の変更がある状態でネイティブプロジェクトを再生成する作業
- Expoを使わないReact Nativeプロジェクトだけの更新
03 / BUILD
自分たちのSkill作成に活かせること
文章やコードをそのまままねるのではなく、自分たちのSkillに取り入れたい判断基準や工程の分け方を整理しました。
最初に環境を分類する
公式Skillは、更新コマンドの前にネイティブディレクトリの有無を確認します。ただし、ディレクトリの存在だけではCNGか手動管理かを確定できません。自分たちのSkillでも、Gitの追跡状態、生成方法、config plugins、手動編集の有無を確認する入口を置くと、不要または危険な手順を避けやすくなります。
共通手順と版固有の知識を分ける
依存更新、診断、確認という共通の流れはSkill本体に置き、React、New Architecture、廃止パッケージなどの詳細は参照資料へ分けています。自分たちのSkillでも、長く使う判断手順と変化しやすい製品知識を分離し、後者には確認日と正本を持たせる設計ができます。
変更コマンドの前に停止点を置く
SDK更新は依存ファイルやネイティブプロジェクトを変更し、キャッシュ削除も伴います。自分たちのSkillでは、現状調査、変更計画、差分確認、実行、診断、主要機能確認を別段階にし、変更前に利用者の確認を挟むと安全に再利用しやすくなります。
04 / WORKFLOW
実際に使うときの流れ
- 01
現在地を確認
現在のExpo SDK、移行先、作業ツリー、package.json、`ios/`・`android/` の有無、Gitの追跡状態、生成方法、config plugins、手動編集の有無を確認する。
- 02
適用項目を整理
固定版Skillと対象SDKの最新リリースノートを照合し、必要な依存更新、廃止項目、ネイティブ変更を計画にする。
- 03
変更後を検証
承認された変更だけを実行し、Expo Doctor、ビルド、カメラ・音声・動画・ナビゲーションなどアプリ固有の主要機能を確認する。
05 / TRY
試すときに使える依頼文
最初は、結果を自分で確かめやすい題材に使ってみてください。Skillがどこまで判断できるのか、どこで人の確認が必要なのかがわかります。
このExpoプロジェクトのSDK更新を計画してください。最初に現在のSDK、移行先、作業ツリー、package.json、`ios/`・`android/` の有無、Gitの追跡状態、生成方法、config plugins、手動編集の有無を確認してください。対象SDKの公式リリースノートを調べ、段階更新の原則と版固有の例外を分けてください。必要な変更、対象外、破壊的操作、変更後の診断・ビルド・主要機能確認を示し、まだファイル変更やキャッシュ削除は行わないでください。
06 / INSTALL
導入方法を確認する
コマンドや配置方法は更新されることがあります。実行する前に、公開元の最新READMEとライセンスを確認してください。
# expo-upgradeだけを導入する実測済みの補足経路。公式READMEのCodex推奨はExpoプラグイン全体です。
npx --yes skills@latest add expo/skills --skill expo-upgrade --agent codex --copy --yes
# expo-upgradeだけを導入する実測済みの補足経路。公式READMEのClaude Code推奨はExpoプラグイン全体です。
npx --yes skills@latest add expo/skills --skill expo-upgrade --agent claude-code --copy --yes
07 / WATCHOUTS
人が確認するところ
- `npx expo prebuild --clean` は既存のネイティブディレクトリを削除して再生成します。手動変更の有無と作業ツリーを確認し、承認前には実行しません。
- 依存関係の更新やキャッシュ削除はファイルを変更します。差分を保存し、対象コマンドと戻し方を確認してから実行します。
- SDK固有の条件は変わります。固定版Skillだけで判断せず、実行日に対象SDKの公式リリースノートを確認します。
- Expo公式資料は原則としてSDKを一つずつ上げることを勧めます。固定版SkillのSDK 56回避はHermes V1回帰に対する版固有の例外として扱い、他の版へ一般化しません。