He actualizado node hoy y recibo este error:
error: TypeError: Cannot read properties of undefined (reading 'transformFile') at Bundler.transformFile (/Users/.../node_modules/metro/src/Bundler.js:48:30) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Object.transform (/Users/.../node_modules/metro/src/lib/transformHelpers.js:101:12) at async processModule (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:137:18) at async traverseDependenciesForSingleFile (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:131:3) at async Promise.all (index 0) at async initialTraverseDependencies (/Users/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:114:3) at async DeltaCalculator._getChangedDependencies (/Users/.../node_modules/metro/src/DeltaBundler/DeltaCalculator.js:164:25) at async DeltaCalculator.getDelta (/Users/.../node_modules/metro/src/DeltaBundler/DeltaCalculator.js:94:16)Aparte de eso, no he hecho nada inusual, así que no estoy seguro de qué compartir. Si me falta información, por favor comente y la agregaré.
Al construir la terminal también arroja este error:
Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHash (node:crypto:130:10) at stableHash (/Users/.../node_modules/metro-cache/src/stableHash.js:19:8) at Object.getCacheKey (/Users/.../node_modules/metro-transform-worker/src/index.js:593:7) at getTransformCacheKey (/Users/.../node_modules/metro/src/DeltaBundler/getTransformCacheKey.js:24:19) at new Transformer (/Users/.../node_modules/metro/src/DeltaBundler/Transformer.js:48:9) at /Users/.../node_modules/metro/src/Bundler.js:22:29 at processTicksAndRejections (node:internal/process/task_queues:96:5) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }Mis versiones de nodo, npx y react-native son:
Probé diferentes versiones de nodos... el mismo error. Desinstalé y probé nuevas versiones de Android Studio... el mismo error. Empecé nuevos proyectos desde cero... el mismo error. Eliminó node_modules y ejecutó npm i... el mismo error.
Esto es lo que funcionó para mí.
Correr
npx react-native info
Hacia la parte superior de esa lectura, debería decir qué versión de nodo está utilizando. (me dijo que estaba usando Node: 17.xx.x en una carpeta node_modules perdida).
Mi solución fue simplemente cambiar el nombre de esa carpeta (en caso de que eliminarla rompa un proyecto diferente). Ahora, cuando ejecuto npx react-native info , me dice la versión de nodo correcta (16.13.1) y todos mis proyectos se ejecutan en el emulador nuevamente.
Me encontré con el mismo problema con Node.js 17.0.0. Para resolverlo, bajé a la versión 14.18.1, eliminé node_modules y reinstalé.
Solución rápida y sucia (funcionó para mí):
Agregue o actualice la sección de motores de su paquete.json con algo como esto para dejar de intentar compilar con Node 17.0.x actual, hasta que resuelva el nuevo formato OpenSSL PKCS8 en el módulo tls:
"engines": { "node": "<17", "npm": "<8.2" },Experimenté el mismo problema. Parece que el problema se debe a la versión 17.x de Node.js. Resolví degradar a Node.js 16.12.0.
puede resolverlo degradando el nodo js
> nvm list // to see all available node version > nvm install 16.13.0 // to install the version I wanted > nvm use 16.13.0 // use the installed versionEn caso de que hagas los pasos de @uzai sindiko y cuando intentas construir, vuelve a fallar. Y si cierra la terminal y luego verifica nuevamente la versión del nodo, dice 17.3.1.
Luego, después de configurar nvm use 16.13.0 , también nvm uninstall 17.3.1 y luego se compilará su proyecto.
Gracias
tenía el mismo problema. cambie a la versión 16.13.1 de 17.3.0 y funcionó muy bien.
verifique primero la versión de su nodo usando la nvm list desinstale la versión innecesaria del nodo usando la nvm uninstall version cambie la versión con el número de versión que está en uso. instale la nueva versión del nodo usando nvm install version_number use la versión instalada del nodo usando nvm use version_number . Reemplace version_number con la versión del nodo que ha instalado.