node.js - 将我的 nodejs/expressjs 应用程序部署到 AWS lambda 后出现 bcrypt 错误
问题描述
我正在尝试使我的express.js
应用程序在AWS Lambda
. 部署(使用serverless framework
成功完成,但是当我测试我的请求时应用程序返回一个500 internal error
。我的日志向我显示了这个错误:
/var/task/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
.
我尝试替换bcrypt
为,bcryptjs
但问题仍然存在。
另外,在我的 中serverless.yml
,我添加了以下行来强制 lambda 自行安装bcrypt
,但显然它没有成功:
package:
exclude:
- node_modules/**
有什么建议吗?
解决方案
首先,请包含节点模块。除了aws-sdk
.
其次,您看到此错误是因为您可能在 mac OS 机器上开发,因此bycrypt
您机器中的二进制文件最终会上传到 lambda。
请仔细检查,当您尝试时bcryptjs
,您已完全bcrypt
从项目依赖项中删除。
推荐阅读
- google-analytics - Google Analytics 目标未捕获所有事件
- image - 没有这样的图像:docker.io/openshift/origin-node-problem-detector:v3.11.0
- html - 自动填充(登录凭据)在 IE11 和 Edge 中不起作用
- coq - 自然数列表的拆分
- ios - iOS 中的 Firebase 身份验证以及 Swift 5 的最新更新
- python - 使用 pandas python 在 excel 文件中获取不相关的日期并创建标题并添加评论,例如“日期不相关”
- reactjs - 部署到 azure 应用服务时反应无效的主机头错误
- python - 在 Python 中将两个空列表之间的所有列表(字符串列表)合并为一个列表
- loopbackjs - 模型中的环回数据源特定配置
- excel - 如何在 Wscript.Shell + cmd.exe 中使用变量?