Pular para o conteúdo
Skillpedia
Apps de celular48 mil · #4455

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/upgrading-expo/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/upgrading-expo/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-expo

Ou 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.md
Conteú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 entrada expo-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

  1. Atualize o Expo e as dependências
npx expo install expo@latest
npx expo install --fix
  1. Execute os diagnósticos: npx expo-doctor

  2. Limpe 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.json para 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

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4455
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas