upgrading-expo
🤖 AI Summary
Upgrades an Expo project's SDK version by modifying `app.json`, updating dependencies in `package.json`, and running `expo install` to ensure compatibility.
How to Install
Claude Code:
git clone --depth 1 https://github.com/expo/skills.git && cp skills/plugins ~/.claude/skills/upgrading-expo -rUpgrading Expo
Overview
Upgrade Expo SDK versions safely, handling breaking changes, dependencies, and configuration updates.
When to Use This Skill
Use this skill when you need to upgrade Expo SDK versions.
Use this skill when: - Upgrading to a new Expo SDK version - Handling breaking changes between SDK versions - Updating dependencies for compatibility - Migrating deprecated APIs to new versions - Preparing apps for new Expo features
Instructions
This skill guides you through upgrading Expo SDK versions:
- Pre-Upgrade Planning: Review release notes and breaking changes
- Dependency Updates: Update packages for SDK compatibility
- Configuration Migration: Update app.json and configuration files
- Code Updates: Migrate deprecated APIs to new versions
- Testing: Verify app functionality after upgrade
Upgrade Process
1. Pre-Upgrade Checklist
- Review Expo SDK release notes
- Identify breaking changes affecting your app
- Check compatibility of third-party packages
- Backup current project state
- Create a feature branch for the upgrade
2. Update Expo SDK
# Update Expo CLI
npm install -g expo-cli@latest
# Upgrade Expo SDK
npx expo install expo@latest
# Update all Expo packages
npx expo install --fix
3. Handle Breaking Changes
- Review migration guides for breaking changes
- Update deprecated API calls
- Modify configuration files as needed
- Update native dependencies if required
- Test affected features thoroughly
4. Update Dependencies
# Check for outdated packages
npx expo-doctor
# Update packages to compatible versions
npx expo install --fix
# Verify compatibility
npx expo-doctor
5. Testing
- Test core app functionality
- Verify native modules work correctly
- Check for runtime errors
- Test on both iOS and Android
- Verify app store builds still work
Common Issues
Dependency Conflicts
- Use
expo installinstead ofnpm installfor Expo packages - Check package compatibility with new SDK version
- Resolve peer dependency warnings
Configuration Changes
- Update
app.jsonfor new SDK requirements - Migrate deprecated configuration options
- Update native configuration files if needed
Breaking API Changes
- Review API migration guides
- Update code to use new APIs
- Test affected features after changes
Best Practices
- Always upgrade in a feature branch
- Test thoroughly before merging
- Review release notes carefully
- Update dependencies incrementally
- Keep Expo CLI updated
- Use
expo-doctorto verify setup
Resources
For more information, see the source repository.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Details
| Category | Frontend → framework |
| Source | expo/skills |
| SKILL.md | View on GitHub → |
| Repo Stars | ★ 2.1K |
| Est. per Skill | 123 (shared across 17 skills from this repo) |
| Difficulty | Intermediate |
| Risk Level | Safe |
Related Skills
react-native-architecture
React Native Architecture Production-ready patterns for React Native development with Expo, includin
astro
Astro Web Framework Overview Astro is a web framework designed for content-rich websites — blogs, do
social-metadata-hardening
Social Metadata Hardening Skill Fix social sharing so every important URL unfurls as a rich card acr
wiki-researcher
Wiki Researcher You are an expert software engineer and systems analyst. Your job is to deeply under
Works Well With
Skills from the same repository — often designed to work together
expo-ui
@expo/ui renders real native UI from React: SwiftUI on iOS, Jetpack Compose on Android. Start with i
add-app-clip
Adds an iOS App Clip target to an Expo project. The Clip lives in targets/clip/, ships alongside the
building-native-ui
Expo UI Guidelines When to Use You are building a native-feeling Expo Router application and need gu