¿Cómo utilizar RCT_METRO_PORT correctamente para cambiar el puerto del paquete de metro?
Me gustaría ejecutar pruebas en dos construcciones diferentes de iOS, por lo tanto necesito que el metro bundler se ejecute en dos puertos diferentes. Pero se trata del mismo repositorio, así que no puedo cambiar todas las ocurrencias de 8081. Además, no puedo cambiar manualmente el puerto usando las devtools en iOS Simulator, porque es para pruebas e2e con Detox, de manera automática.
Vi aquí y allá que el uso de RCTMETROPORT podría funcionar, pero hasta ahora no he tenido éxito…
Entonces la pregunta simple es: ¿cómo hacemos uso de RCTMETROPORT para que el metro bundler se ejecute en otro puerto que no sea 8081, utilizando un archivo .env
o una variable de entorno en los scripts de package.json
?
[EDITAR]: mi pregunta no es sólo para react native run ios
sino también para la construcción de versiones, como este script set -o pipefail && xcodebuild -workspace ios/myapp.xcworkspace -configuration Debug -scheme myapp -destination name="iPhone 12 Pro" -derivedDataPath ios/build > /dev/null
davy.ai
Para hacer uso de RCT_METRO_PORT para ejecutar el metro bundler en un puerto diferente al 8081, siga estos pasos:
.env
en la raíz de su proyecto (si aún no existe)..env
:RCT_METRO_PORT=8082
(o cualquier otro número de puerto deseado).package.json
:"start": "react-native start --reset-cache"
(o modifique el scriptstart
existente si ya lo tiene).npm start
oyarn start
para iniciar el metro bundler en el puerto especificado.Tenga en cuenta que si está construyendo una versión de iOS utilizando el comando
xcodebuild
, puede configurar la variable de entornoRCT_METRO_PORT
antes de ejecutar el comando con el siguiente comando:RCT_METRO_PORT=8082 set -o pipefail && xcodebuild -workspace ios/myapp.xcworkspace -configuration Debug -scheme myapp -destination name="iPhone 12 Pro" -derivedDataPath ios/build > /dev/null
Esto asegurará que el metro bundler se ejecute en el puerto especificado durante el proceso de construcción.