我在 AWS Lambda NodeJS 上运行 bcrypt 时遇到问题,有人可以帮助我吗?

sha*_*790 1 amazon-ec2 bcrypt amazon-web-services node.js

这是运行时显示的错误。

\n

在 bcrypt 的 GitHub wiki 上,他们说它是 Node-js 的本机模块,并且需要编译器和构建依赖项才能构建。\n我做错了什么,有人可以帮助我吗

\n
{\n"errorType": "Error",\n"errorMessage": "/var/task/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header",\n"stack": [\n    "Error: /var/task/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header",\n    "    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)",\n    "    at Module.load (internal/modules/cjs/loader.js:863:32)",\n    "    at Function.Module._load (internal/modules/cjs/loader.js:708:14)",\n    "    at Module.require (internal/modules/cjs/loader.js:887:19)",\n    "    at require (internal/modules/cjs/helpers.js:74:18)",\n    "    at Object.<anonymous> (/var/task/node_modules/bcrypt/bcrypt.js6\xef\xb8\x8f\xe2\x83\xa316)",\n    "    at Module._compile (internal/modules/cjs/loader.js:999:30)",\n    "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",\n    "    at Module.load (internal/modules/cjs/loader.js:863:32)",\n    "    at Function.Module._load (internal/modules/cjs/loader.js:708:14)"\n]\n
Run Code Online (Sandbox Code Playgroud)\n

}

\n

小智 11

我遇到了同样的问题,通过使用**bcryptjs** (npm i bcryptjs)而不是 bcrypt 包解决了它。

看来 bcrypt 在 lambda 上失败了,因为它使用 node-gyp 来构建和安装 - 但不确定是否必须通过它来工作。

在那之前,bcryptjs就可以工作了。