Conceptos básicos de incorporación
10 ejemplos para setup de máquina del primer día - Xcode, Android Studio, EAS CLI, simuladores, y pin de SDK 57 - para que un nuevo compañero de equipo ejecute la aplicación antes del almuerzo.
Busca en todas las páginas de la documentación
10 ejemplos para setup de máquina del primer día - Xcode, Android Studio, EAS CLI, simuladores, y pin de SDK 57 - para que un nuevo compañero de equipo ejecute la aplicación antes del almuerzo.
Clona el repo del equipo y confirma el contrato SDK en package.json antes de instalar herramientas nativas. Si el proyecto usa la plantilla predeterminada, espera Expo Router y flujo de trabajo administrado (sin ios/ / android/ comprometidos hasta prebuild o EAS).
git clone git@github.com:your-org/your-app.git
cd your-app
node -v # espera 20.x
cat package.json | grep '"expo"'Stack de destino para esta sección:
{
"engines": { "node": ">=20.0.0" },
"dependencies": {
"expo": "~57.0.4",
"react": "19.2.3",
"react-native": "0.86.0"
}
}Herramientas: Estos ejemplos apuntan a Expo SDK 57 (
expo~57.0.4), React Native 0.86.0, y React 19.2.3. Consulta Conceptos básicos de configuración del proyecto para flags de scaffold y diseño de carpetas.
Instala Node 20 LTS con nvm, fnm, o mise - las herramientas SDK 57 y EAS CLI lo esperan.
# ejemplo de nvm
nvm install 20
nvm use 20
node -v # v20.x.x
npm install
# o: corepack enable && pnpm install{
"engines": {
"node": ">=20.0.0"
}
}CONTRIBUTING.mdnpm ci en CI; localmente npm install está bien después del cloneengines falla, corrige Node antes de perseguir errores de Metro - Node incorrecto causa fallos criptográficos de transformRelacionado: Conceptos básicos de configuración del proyecto - higiene de lockfile y
.gitignore
La versión del paquete expo es el contrato de compatibilidad 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 tu gráfico con la matriz SDK 57 - ejecuta en el primer día y después de cada git pullnpx expo install <pkg> resuelve versiones de peers - nunca elijas manualmente expo-camera sin élRelacionado: Plantillas create-expo-app - scaffold
default@sdk-57
Copia el archivo de entorno de ejemplo antes de la primera ejecución - las URLs de API faltantes causan pantallas en blanco silenciosas.
cp .env.example .env.local# .env.example (comprometido)
EXPO_PUBLIC_API_URL=https://api.staging.example.com
# secretos de EAS - no en .env para construcciones de producción// app.config.ts - superficie vars públicas vía extra cuando sea necesario
export default {
expo: {
extra: {
apiUrl: process.env.EXPO_PUBLIC_API_URL,
},
},
};EXPO_PUBLIC_* vars incrusta en el bundle de JS - nunca pongas claves privadas aquí.env de laptopEXPO_TOKEN, cuentas de staging, e invitaciones de TestFlightnpx expo start -cConfirma que JavaScript se inicia antes de instalar IDEs nativas de varios gigabytes.
npx expo start
# presiona i para simulador de iOS (requiere Xcode)
# presiona a para emulador de Android (requiere Android Studio)
# escanea QR con Expo Go en un dispositivo físico{
"scripts": {
"start": "expo start",
"ios": "expo start --ios",
"android": "expo start --android"
}
}expo start -c limpia el caché de Metro cuando las importaciones se ven obsoletas después de cambios de ramaeas.json para el perfil developmenttsc --noEmit pasaRelacionado: Conceptos básicos de Expo Router - rutas basadas en archivos en
app/
El desarrollo de iOS requiere Xcode desde la Mac App Store y herramientas de línea de comandos.
xcode-select --install
sudo xcodebuild -license accept
xcode-select -p
# /Applications/Xcode.app/Contents/Developer
# Listar simuladores
xcrun simctl list devices available
# Abrir app Simulator
open -a Simulatornpx expo start --ios
# o: npx expo run:iosrun:ios puede desencadenar CocoaPods (pod install) si ios/ existe o después del prebuildarm64 - más rápido que imágenes x86 de RosettaLas construcciones de Android necesitan Android Studio con SDK Platform 35 y un dispositivo virtual (AVD).
# Después de la instalación de Android Studio - establecer 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 → SDK Manager:
npx expo start --androidadb reverse ayuda a Metro a alcanzar APIs localhost: adb reverse tcp:8081 tcp:8081EAS CLI conecta tu máquina al servicio de construcción en la nube de Expo - requerido para binarios con forma de tienda.
npm install -g eas-cli@latest
# o local del proyecto: npx eas-cli@latest
eas login
eas whoami
cd your-app
eas build:configure # crea eas.json si falta// eas.json (inicial mínimo)
{
"cli": { "version": ">= 16.0.0" },
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {}
}
}eas login usa tu cuenta Expo - solicita invitación de org al líder de móvileseas build:configure vincula el ID del proyecto en app.config.ts vía extra.eas.projectIdEXPO_TOKEN - los humanos usan eas login; nunca commits tokenseas build --profile development --platform ios --local opcional; el predeterminado es en la nubeRelacionado: Conceptos básicos de EAS Build - perfiles, credenciales, primera construcción
Cuando la aplicación agrega módulos nativos personalizados o plugins de configuración, Expo Go no es suficiente - instala un cliente dev.
npx expo install expo-dev-client
eas build --profile development --platform ios
# Instala IPA desde QR del dashboard de EAS
npx expo start --dev-client{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": { "simulator": true }
}
}
}expo-dev-client y código nativo de plugins de configuraciónios.simulator: true) se instalan más rápido para trabajo UI solo de iOSRelacionado: Conceptos básicos de EAS Build -
developmentClient: true
Estandariza nombres de dispositivos para que sesiones de pairing y capturas de pantalla coincidan.
# iOS - arrancar simulador nombrado
xcrun simctl boot "iPhone 16"
open -a Simulator
# Android - iniciar AVD por nombre
emulator -avd Pixel_8_API_35 &
# Expo apunta a dispositivo específico
npx expo run:ios --device "iPhone 16"
npx expo run:android --device Pixel_8_API_35// package.json - atajos del equipo (opcional)
{
"scripts": {
"ios:16": "expo run:ios --device 'iPhone 16'",
"android:pixel": "expo run:android --device Pixel_8_API_35"
}
}xcrun simctl erase all (destructivo)Ejecuta este bloque de script antes de abrir tu primer PR - detecta el 90% de sesgos de incorporación.
node -v # 20.x
npm ci
npx expo-doctor
npm run typecheck # o: npx tsc --noEmit
npm run lint
npm test -- --passWithNoTests
npx expo start## Fragmento de CONTRIBUTING.md - Setup de máquina
1. Node 20 vía nvm
2. Clone + `npm ci`
3. `cp .env.example .env.local` (pide valores a #mobile)
4. `npx expo-doctor` - debe pasar
5. `npx expo start` - smoke test de simulador de iOS + emulador de Android
6. `eas login` + invitación de org
7. Instala cliente dev desde el perfil `development` de EAS si el repo tiene expo-dev-clientnpx expo customize tsconfig.json si las rutas tipadas fallan en un clone limpioexpo-doctor en tu PR de incorporación si tu equipo rastrea listas de verificación de contrataciónRelacionado: Mejores prácticas de configuración del proyecto - convenciones que sobreviven la segunda semana
Para equipos de móviles de pila completa, sí en macOS - tocará ambas plataformas en revisión. Los nuevos miembros de Windows/Linux pueden omitir Xcode y usar EAS para binarios de iOS.
Expo Go si package.json no tiene expo-dev-client. Si el README menciona un QR de construcción de desarrollo, instala eso primero - Expo Go no cargará código nativo personalizado.
20-40 minutos del lado de la nube. Comienza después del almuerzo en el primer día mientras lees la gira de codebase - no bloquees el setup matutino de Metro en él.
Publica salida en #mobile con tu versión de OS. No bumpes paquetes manualmente - ejecuta npx expo install --fix solo cuando el líder lo confirme.
app/Versiones de stack: Esta página se escribió para React 19.2.3, React Native 0.86.0, y Expo SDK 57 (
expo~57.0.4).
Revisado por Chris St. John·Última actualización: 16 jul 2026