node.js - 我在 AWS Lambda NodeJS 上运行 bcrypt 时遇到问题,有人可以帮我吗?
问题描述
这是运行时显示的错误。
在 bcrypt 的 GitHub wiki 上,他们说它是 node-js 的本机模块,并且它需要编译器和构建依赖项才能构建。我做错了什么,有人可以帮我吗
{
"errorType": "Error",
"errorMessage": "/var/task/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header",
"stack": [
"Error: /var/task/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header",
" at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)",
" at Module.load (internal/modules/cjs/loader.js:863:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:708:14)",
" at Module.require (internal/modules/cjs/loader.js:887:19)",
" at require (internal/modules/cjs/helpers.js:74:18)",
" at Object.<anonymous> (/var/task/node_modules/bcrypt/bcrypt.js6️⃣16)",
" at Module._compile (internal/modules/cjs/loader.js:999:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",
" at Module.load (internal/modules/cjs/loader.js:863:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:708:14)"
]
}
解决方案
我遇到了同样的问题,通过使用**bcryptjs** (npm i bcryptjs)
而不是 bcrypt 包解决了它。
似乎 bcrypt 在 lambda 上失败了,因为它使用 node-gyp 来构建和安装 - 虽然不确定它是否必须工作。
在那之前,bcryptjs可以工作。
推荐阅读
- c# - 在 WinForm C# 中更改面板的起点
- php - 使用 php curl 时传递值
- sql - 将 KNA1 表加入 VBRK
- python - 如何从字典中获取聚合总和组
- regex - 如何在包含特定字符的多行文本块之后搜索然后添加
- javascript - 如何在反应中向左拉 1 个按钮,向右拉 2 个按钮>
- stripe-payments - Stripe iOS SDK via Swift Package Manager 正在安装,但由于“库未加载”而崩溃
- debugging - 为什么我不能命名无符号变量 v+digit?
- html - 动画 ::before 和 ::after
- node.js - Webpack 不排除排除数组中指定的文件