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.

EMFile: demasiados archivos abiertos, observando – construyendo la aplicación React Native iOS Release.

Eres un traductor de español que traduce documentos de tecnología. Traduce lo siguiente al español. No traduzcas el código y la salida en Markdown.

Escribí mi aplicación React Native utilizando Expo y luego la expulsé utilizando expo eject. Ahora estoy tratando de construir versiones de la aplicación para su lanzamiento. Funciona bien para Android y también para versiones de depuración para iOS, pero cuando intento construir para lanzamiento en Xcode, obtengo el siguiente error:

Error: EMFILE: too many open files, watch
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:178:28)
Emitted 'error' event on NodeWatcher instance at:
    at NodeWatcher.checkedEmitError (/node_modules/sane/src/node_watcher.js:143:12)
    at FSWatcher.emit (events.js:400:28)
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:184:12) {
  errno: -24,
  syscall: 'watch',
  code: 'EMFILE',
  filename: null
}

He visto a algunas personas con errores similares y he intentado los siguientes pasos sin suerte:

  • Intenté diferentes versiones de node
  • Actualicé watchman
  • Reinstalé homebrew
  • Cerré todas las ventanas/aplicaciones excepto Xcode

Siento que el error tiene que ver con el chip M1, pero estoy luchando por encontrar una solución, por lo que se agradece cualquier ayuda.

Dispositivo – Mac mini (M1, 2020), ejecutando macOS Monterey 12.0.1

Versión de Node – 17.0.1

Versión de React Native – ~0.63.4

Utilicé este artículo para configurar el entorno.

Háganme saber si necesita más información o fragmentos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás encontrando el error EMFILE al intentar compilar una versión de lanzamiento de tu aplicación React Native en Xcode. Este error ocurre cuando hay demasiados archivos abiertos que son vigilados por el sistema de vigilancia de archivos. Dado que ya has probado diferentes versiones de node, has actualizado watchman, has reinstalado Homebrew y has cerrado todas las ventanas y aplicaciones aparte de Xcode, aquí hay algunas cosas más que puedes probar:

    • Aumentar el número máximo de archivos que pueden estar abiertos al mismo tiempo. Puedes hacer esto ejecutando el siguiente comando en tu terminal:
      launchctl limit maxfiles 65536 200000
      
    • Limpiar la caché de watchman ejecutando los siguientes comandos en tu terminal:
      watchman watch-del-all
      rm -rf /usr/local/var/run/watchman/*
      
    • Actualiza tu Xcode a la última versión disponible.
    • Intente ejecutar Xcode con la emulación Rosetta, que puede ayudar a solucionar cualquier problema de compatibilidad con el chip M1. Para hacer esto, haz clic derecho en el icono de Xcode en tu carpeta de aplicaciones, selecciona Obtener información y marca la casilla que dice “Abrir utilizando Rosetta”.

    Si ninguna de estas soluciones funciona, puede ser útil proporcionar más información sobre los pasos específicos que tomaste para compilar la versión de lanzamiento de tu aplicación y cualquier mensaje de error adicional que encuentres.

Comments are closed.