Noções Básicas de Integração
10 exemplos de configuração da máquina no primeiro dia - Xcode, Android Studio, EAS CLI, simuladores e fixação do SDK 57 - para que um novo membro da equipe execute o aplicativo antes do almoço.
Busque em todas as páginas da documentação
10 exemplos de configuração da máquina no primeiro dia - Xcode, Android Studio, EAS CLI, simuladores e fixação do SDK 57 - para que um novo membro da equipe execute o aplicativo antes do almoço.
Clone o repositório da equipe e confirme o contrato do SDK em package.json antes de instalar as ferramentas nativas. Se o projeto usar o template padrão, espere Expo Router e fluxo gerenciado (sem ios/ / android/ commitados até o prebuild ou EAS).
git clone git@github.com:your-org/your-app.git
cd your-app
node -v # espere 20.x
cat package.json | grep '"expo"'Pilha de destino para esta seção:
{
"engines": { "node": ">=20.0.0" },
"dependencies": {
"expo": "~57.0.4",
"react": "19.2.3",
"react-native": "0.86.0"
}
}Ferramentas: Estes exemplos têm como alvo Expo SDK 57 (
expo~57.0.4), React Native 0.86.0 e React 19.2.3. Veja Noções Básicas de Configuração de Projeto para flags de scaffold e layout de pastas.
Instale o Node 20 LTS com nvm, fnm ou mise - as ferramentas do SDK 57 e o EAS CLI o esperam.
# Exemplo nvm
nvm install 20
nvm use 20
node -v # v20.x.x
npm install
# ou: corepack enable && pnpm install{
"engines": {
"node": ">=20.0.0"
}
}CONTRIBUTING.mdnpm ci em CI; localmente npm install é suficiente após o cloneengines falhar, corrija o Node antes de perseguir erros do Metro - Node incorreto causa falhas de transform crípticasRelacionado: Noções Básicas de Configuração de Projeto - higiene de lockfile e
.gitignore
A versão do pacote expo é o contrato de compatibilidade para cada módulo expo-*.
npm install
npx expo-doctor
npx expo install --check{
"dependencies": {
"expo": "~57.0.4",
"react": "19.2.3",
"react-native": "0.86.0"
}
}npx expo-doctor compara seu grafo com a matriz do SDK 57 - execute-o no primeiro dia e após cada git pullnpx expo install <pkg> resolve versões de peer - nunca escolha manualmente expo-camera sem eleRelacionado: Templates create-expo-app - scaffold
default@sdk-57
Copie o arquivo de exemplo .env antes da primeira execução - URLs de API ausentes causam telas em branco silenciosas.
cp .env.example .env.local# .env.example (commitado)
EXPO_PUBLIC_API_URL=https://api.staging.example.com
# Segredos EAS - não em .env para builds de produção// app.config.ts - exponha variáveis públicas via extra quando necessário
export default {
expo: {
extra: {
apiUrl: process.env.EXPO_PUBLIC_API_URL,
},
},
};EXPO_PUBLIC_* são incorporadas ao bundle JS - nunca coloque chaves privadas aqui.env do laptopEXPO_TOKEN, contas de staging e convites do TestFlightnpx expo start -cConfirme se o JavaScript inicia antes de instalar IDEs nativas de vários gigabytes.
npx expo start
# pressione i para simulador iOS (requer Xcode)
# pressione a para emulador Android (requer Android Studio)
# escaneie o QR com o Expo Go em um dispositivo físico{
"scripts": {
"start": "expo start",
"ios": "expo start --ios",
"android": "expo start --android"
}
}expo start -c limpa o cache do Metro quando os imports parecem desatualizados após a troca de brancheseas.json para o perfil developmenttsc --noEmit passaRelacionado: Noções Básicas do Expo Router - rotas baseadas em arquivos em
app/
O desenvolvimento iOS requer o Xcode da Mac App Store e as ferramentas de linha de comando.
xcode-select --install
sudo xcodebuild -license accept
xcode-select -p
# /Applications/Xcode.app/Contents/Developer
# Lista de simuladores
xcrun simctl list devices available
# Abre o aplicativo Simulador
open -a Simulatornpx expo start --ios
# ou: npx expo run:iosrun:ios pode acionar o CocoaPods (pod install) se ios/ existir ou após o prebuildarm64 - mais rápidos que imagens x86 do RosettaBuilds Android precisam do Android Studio com SDK Platform 35 e um dispositivo virtual (AVD).
# Após a instalação do Android Studio - defina ANDROID_HOME
export ANDROID_HOME=$HOME/Library/Android/sdk # macOS
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
adb devices
emulator -list-avdsAndroid Studio → Gerenciador de SDK:
npx expo start --androidadb reverse ajuda o Metro a alcançar APIs localhost: adb reverse tcp:8081 tcp:8081O EAS CLI conecta sua máquina ao serviço de build na nuvem da Expo - necessário para binários no formato de loja.
npm install -g eas-cli@latest
# ou localmente no projeto: npx eas-cli@latest
eas login
eas whoami
cd your-app
eas build:configure # cria eas.json se ausente// eas.json (iniciador mínimo)
{
"cli": { "version": ">= 16.0.0" },
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
}
}eas login usa sua conta Expo - solicite um convite de organização ao líder mobileeas build:configure vincula o ID do projeto em app.config.ts via extra.eas.projectIdEXPO_TOKEN - humanos usam eas login; nunca comite tokenseas build --profile development --platform ios --local opcional; o padrão é na nuvemRelacionado: Noções Básicas do EAS Build - perfis, credenciais, primeiro build
Quando o aplicativo adiciona módulos nativos personalizados ou plugins de configuração, o Expo Go não é suficiente - instale um cliente de desenvolvimento.
npx expo install expo-dev-client
eas build --profile development --platform ios
# Instale o IPA via QR do painel EAS
npx expo start --dev-client{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": { "simulator": true }
}
}
}expo-dev-client e código nativo de plugins de configuraçãoios.simulator: true) instalam mais rapidamente para trabalho de UI apenas iOSRelacionado: Noções Básicas do EAS Build -
developmentClient: true
Padronize nomes de dispositivos para que sessões de pareamento e capturas de tela correspondam.
# iOS - inicia o simulador nomeado
xcrun simctl boot "iPhone 16"
open -a Simulator
# Android - inicia AVD pelo nome
emulator -avd Pixel_8_API_35 &
# Expo visa um dispositivo específico
npx expo run:ios --device "iPhone 16"
npx expo run:android --device Pixel_8_API_35// package.json - atalhos da equipe (opcional)
{
"scripts": {
"ios:16": "expo run:ios --device 'iPhone 16'",
"android:pixel": "expo run:android --device Pixel_8_API_35"
}
}xcrun simctl erase all (destrutivo)Execute este bloco de script antes de abrir seu primeiro PR - ele captura 90% dos desvios de integração.
node -v # 20.x
npm ci
npx expo-doctor
npm run typecheck # ou: npx tsc --noEmit
npm run lint
npm test -- --passWithNoTests
npx expo start## Trecho de CONTRIBUTING.md - Configuração da máquina
1. Node 20 via nvm
2. Clone + `npm ci`
3. `cp .env.example .env.local` (peça valores no canal #mobile)
4. `npx expo-doctor` - deve passar
5. `npx expo start` - smoke test iOS sim + Android emu
6. `eas login` + convite da organização
7. Instale o cliente de desenvolvimento do perfil `development` do EAS se o repositório tiver expo-dev-clientnpx expo customize tsconfig.json se as rotas tipadas falharem em um clone limpoexpo-doctor passando no seu PR de integração se sua equipe rastreia checklists de contrataçãoRelacionado: Melhores Práticas de Configuração de Projeto - convenções que sobrevivem à segunda semana
Para equipes mobile full-stack, sim no macOS - você lidará com ambas as plataformas em revisões. Contratados de Windows/Linux podem pular o Xcode e usar EAS para binários iOS.
Expo Go se package.json não tiver expo-dev-client. Se o README mencionar um QR de build de desenvolvimento, instale-o primeiro - o Expo Go não carregará código nativo personalizado.
20–40 minutos no lado da nuvem. Comece após o almoço no primeiro dia enquanto lê o tour pelo codebase - não bloqueie a configuração do Metro da manhã por causa disso.
Poste o output em #mobile com a versão do seu SO. Não atualize pacotes manualmente - execute npx expo install --fix apenas quando o líder confirmar.
app/Versões da Pilha: Esta página foi escrita para React 19.2.3, React Native 0.86.0 e Expo SDK 57 (
expo~57.0.4).
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026