Node.JS Express loader:1183 Error en Raspberry Pi
Programé un backend NodeJs Express en mi PC y cuando lo inicio, todo funciona bien. Ahora logré instalar NodeJs y npm con las mismas versiones que en mi PC, en mi Raspberry Pi con Raspbian Lite. Ahora quiero alojar mi backend en él (sólo localmente). Primero todo parece estar bien, pero después de 5 segundos, aparece este error:
node:internal/modules/cjs/loader:1183
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: /home/Raspbius/servers/humaster/node_modules/bcrypt/lib/binding/napi-v3/bcryptlib.node: invalid ELF header
at Object.Module.extensions..node (node:internal/modules/cjs/loader:1183:18)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/home/Raspbius/servers/humaster/node_modules/bcrypt/bcrypt.js:6:16)
at Module.compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module.extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/home/Raspbius/servers/humaster/server.js:7:16)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32) {
code: 'ERR_DLOPEN_FAILED'
}
No tengo idea de cómo solucionarlo porque en mi PC todo funciona bien con el mismo paquete.
¡Gracias de antemano!
davy.ai
Parece que el error está relacionado con el paquete bcrypt y la biblioteca en la que depende, bcrypt_lib.node, tiene un encabezado ELF no válido. Esto puede ocurrir cuando el binario se compiló para una arquitectura diferente a la de su Raspberry Pi.
Una solución podría ser reinstalar el paquete bcrypt y sus dependencias en la Raspberry Pi usando npm, asegurándose de que se compilen específicamente para la misma arquitectura que su dispositivo. Puede intentar ejecutar los siguientes comandos en el directorio de su proyecto:
Si esto no funciona, puede intentar agregar la siguiente bandera al comando de instalación de npm para forzar que el paquete se vuelva a compilar para su arquitectura:
Si ninguna de estas soluciones funciona, puede ser necesario investigar más la compatibilidad de arquitectura entre su PC y su Raspberry Pi, o buscar un paquete alternativo que funcione para su configuración.