upgrading-expo
Fornece instruções para atualizar o SDK do Expo. Ajuda a resolver problemas de dependência que podem surgir durante a atualização.
O que ela faz
Este guia ajuda você a atualizar seu projeto Expo para uma nova versão do SDK e a resolver problemas com as bibliotecas que ele usa. Ele fornece instruções passo a passo e verifica mudanças importantes.
Quando usar
- ✓Ao atualizar seu projeto para uma nova versão do Expo.
- ✓Quando você encontra erros após uma atualização.
- ✓Para entender as mudanças importantes em novas versões do Expo.
Exemplo do que pedir para a IA
“Como atualizo meu projeto Expo para a versão mais recente e corrijo possíveis erros?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O guia detalha os comandos para atualizar o Expo e suas dependências, além de como verificar e corrigir problemas comuns. Ele também lista mudanças importantes que podem afetar seu código.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill upgrading-expoOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/upgrading-expo/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Quando Usar
Use esta habilidade quando precisar de diretrizes para atualizar versões do Expo SDK e corrigir problemas de dependência.
Referências
- ./references/react-19.md -- SDK +54: Mudanças no React 19 (useContext → use, Context.Provider → Context, remoção de forwardRef)
- ./references/new-architecture.md -- SDK +53: Guia de migração da Nova Arquitetura
- ./references/react-compiler.md -- SDK +54: Configuração e guia de migração do React Compiler
- ./references/native-tabs.md -- SDK +55: Mudanças nas abas nativas (Icon/Label/Badge agora acessados via NativeTabs.Trigger.*)
- ./references/expo-av-to-audio.md -- SDK +55: Migrar reprodução e gravação de áudio de expo-av para expo-audio
- ./references/expo-av-to-video.md -- SDK +55: Migrar reprodução de vídeo de expo-av para expo-video
- ./references/react-navigation-to-expo-router.md -- SDK +56: Migrar importações
@react-navigation/*para pontos de entradaexpo-router(codemod + mapeamento manual)
Lançamentos Beta/Preview
Versões beta usam o sufixo .preview (ex: 55.0.0-preview.2), publicadas sob a tag @next.
Verifique se a última versão é beta: https://exp.host/--/api/v2/versions (procure por -preview em expoVersion)
npx expo install expo@next --fix # install beta
Processo de Atualização Passo a Passo
- Atualize o Expo e as dependências
npx expo install expo@latest
npx expo install --fix
Execute os diagnósticos:
npx expo-doctorLimpe caches e reinstale
npx expo export -p ios --clear
rm -rf node_modules .expo
watchman watch-del-all
Checklist de Mudanças Quebrando
- Verifique APIs removidas nas notas de lançamento
- Atualize caminhos de importação para módulos movidos
- Revise mudanças em módulos nativos que exigem prebuild
- Teste todos os recursos de câmera, áudio e vídeo
- Verifique se a navegação ainda funciona corretamente
Prebuild para Mudanças Nativas
Primeiro, verifique se os diretórios ios/ e android/ existem no projeto. Se nenhum dos diretórios existir, o projeto usa Geração Nativa Contínua (CNG) e os projetos nativos são regenerados no momento da compilação — pule esta seção e "Limpar caches para fluxo nu" completamente.
Se a atualização exigir mudanças nativas:
npx expo prebuild --clean
Isso regenera os diretórios ios e android. Certifique-se de que o projeto não é um aplicativo de fluxo nu antes de executar este comando.
Limpar caches para fluxo nu
Estas etapas se aplicam apenas quando os diretórios ios/ e/ou android/ existem no projeto:
- Limpe o cache do cocoapods para iOS:
cd ios && pod install --repo-update - Limpe os dados derivados para Xcode:
npx expo run:ios --no-build-cache - Limpe o cache do Gradle para Android:
cd android && ./gradlew clean
Organização
- Revise as notas de lançamento para a versão do SDK de destino em https://expo.dev/changelog
- Se estiver usando Expo SDK 54 ou posterior, certifique-se de que react-native-worklets esteja instalado — isso é necessário para que react-native-reanimated funcione.
- Habilite o React Compiler no SDK 54+ adicionando
"experiments": { "reactCompiler": true }ao app.json — é estável e recomendado - Exclua sdkVersion de
app.jsonpara deixar o Expo gerenciá-lo automaticamente - Remova pacotes implícitos de
package.json:@babel/core,babel-preset-expo,expo-constants. - Se o babel.config.js contiver apenas 'babel-preset-expo', exclua o arquivo
- Se o metro.config.js contiver apenas os padrões do expo, exclua o arquivo
Pacotes Descontinuados
| Pacote Antigo | Substituição |
|---|---|
expo-av |
expo-audio e expo-video |
expo-permissions |
APIs individuais de permissão de pacote |
@expo/vector-icons |
expo-symbols (para SF Symbols) |
AsyncStorage |
expo-sqlite/localStorage/install |
expo-app-loading |
expo-splash-screen |
| expo-linear-gradient | experimental_backgroundImage + gradientes CSS em View |
Ao migrar pacotes descontinuados, atualize todo o uso do código antes de remover o pacote antigo. Para expo-av, consulte as referências de migração para converter Audio.Sound para useAudioPlayer, Audio.Recording para useAudioRecorder e componentes Video para VideoView com useVideoPlayer.
expo.install.exclude
Verifique se o package.json excluiu pacotes:
{
"expo": { "install": { "exclude": ["react-native-reanimated"] } }
}
Exclusões são frequentemente soluções alternativas que podem não ser mais necessárias após a atualização. Revise cada uma delas.
Removendo patches
…
Perguntas frequentes
O que é o Expo SDK?
É um conjunto de ferramentas e bibliotecas que facilitam a criação de aplicativos móveis com JavaScript e React Native.
O que são 'breaking changes'?
São mudanças em uma nova versão que podem quebrar seu código antigo, exigindo que você o ajuste.
O que é 'prebuild'?
É um comando que gera ou atualiza os arquivos nativos do seu projeto (iOS e Android), necessário quando há mudanças nas partes nativas do Expo.
Detalhes
Descrição original do autor
Guidelines for upgrading Expo SDK versions and fixing dependency issues
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4455
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
android-clean-architecture
Faz seu agente organizar projetos Android de forma eficiente. Ele estrutura o código para facilitar a manutenção e o desenvolvimento de novos recursos.
affaan-m/ECC
compose-multiplatform-patterns
Ajuda seu agente a usar padrões do Compose Multiplatform e Jetpack Compose em projetos KMP. Ele cobre gerenciamento de estado, navegação, temas e performance. Útil para criar interfaces de usuário consistentes.
affaan-m/ECC
dart-flutter-patterns
Faz seu agente escrever código para apps Dart e Flutter. Ele usa padrões modernos para criar apps robustos e fáceis de gerenciar.
affaan-m/ECC