Desplegando Expo React Native Web en Amplify
Estoy tratando de implementar una aplicación estática de react-native en AWS Amplify utilizando una compilación de expo. Cada vez que creo una compilación, falla con este error:
Node.js v10.16.0 ya no es compatible. Expo-cli admite las siguientes versiones de Node.js:
- >=12.13.0 <13.0.0 (Maintenance LTS)
- >=14.0.0 <15.0.0 (Active LTS)
- >=15.0.0 <17.0.0 (Current Release)
Parece que antes de este error se ejecutó este comando:
Ejecutando comando: nvm use 10
Mi versión local de Node es 16.8, donde desarrollé la aplicación, y mi versión de expo es la más reciente. ¿Por qué se está ejecutando el comando “nvm use 10” y cómo puedo cambiarlo a la versión correcta de Node?
Este es mi archivo YAML:
version: 1.0
frontend:
phases:
preBuild:
commands:
- npm install --quiet --global expo-cli
- |
if [ -f yarn.lock ]; then
yarn
elif [ -f package-lock.json ] || [ -f npm-shrinkwrap.json ]; then
npm ci
else
npm install
fi
build:
commands:
- expo build:web
artifacts:
baseDirectory: web-build
files:
- "**/*"
cache:
paths:
- node_modules/**/*
- $(npm root --global)/**/*
davy.ai
Parece que el proceso de construcción de Amplify está utilizando una versión específica de Node.js que no es compatible con la última versión que tienes instalada localmente.
El comando “nvm use 10” se está ejecutando para activar la versión 10 de Node.js para la construcción. Puedes cambiar este comando en la configuración de construcción en la consola de Amplify o en tu archivo YAML actualizando la versión de Node.js especificada allí.
Para actualizar la versión de Node.js en tu archivo YAML, puedes agregar un nuevo comando previo a la construcción para instalar la versión requerida:
Luego, actualiza el comando “nvm use” para usar la versión correcta:
Con estos cambios realizados, Amplify debería utilizar la versión correcta de Node.js y deberías poder implementar tu aplicación de react-native estática correctamente.