【问题标题】:I get bcrypt error after deployed my nodejs/expressjs app to AWS lambda将节点 js/express js 应用程序部署到 AWS lambda 后出现 bcrypt 错误
【发布时间】:2021-06-28 22:54:11
【问题描述】:

我正在尝试让我的 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/**

有什么建议吗?

【问题讨论】:

  • this 有帮助吗?

标签: node.js express aws-lambda serverless-framework bcrypt


【解决方案1】:

首先,请包含节点模块。除了aws-sdk,AWS 不会在 lambda 节点环境中安装任何东西。

其次,您看到此错误是因为您可能在 Mac OS 机器上进行开发,因此您机器中的 bycrypt 二进制文件最终会上传到 lambda。

请仔细检查,当您尝试 bcryptjs 时,您已从项目依赖项中完全删除了 bcrypt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-28
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2020-10-20
    • 1970-01-01
    • 2017-03-29
    相关资源
    最近更新 更多