es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para hacer uso de RCT_METRO_PORT para ejecutar el metro bundler en un puerto diferente al 8081, siga estos pasos:

    1. Cree un archivo .env en la raíz de su proyecto (si aún no existe).
    2. Agregue la siguiente línea al archivo .env: RCT_METRO_PORT=8082 (o cualquier otro número de puerto deseado).
    3. Agregue la siguiente línea a los scripts de su archivo package.json: "start": "react-native start --reset-cache" (o modifique el script start existente si ya lo tiene).
    4. Ejecute npm start o yarn 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 entorno RCT_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.

Comments are closed.