我在我的办公室部署lambda函数,我的办公室安装了ubuntu操作系统。当我部署我的无服务器代码时,它工作得很好,我可以毫无问题地访问lambda api。但是,当我在装有windows操作系统的家庭计算机上部署时,同样的代码在访问lambda api时显示错误"module initialization error“(”注意-部署时没有问题,从windows计算机部署后访问lambda API时出现问题“)。
我调试了这个问题,我发现这个问题与"bcrypt“包有关。在日志中我看到,当代码执行到我导入"bcrypt“模块的文件时,它会抛出错误。我不知道为什么它只在两个不同的操作系统上显示两种不同的行为。
"dependencies": {
"@serverless/fdk": "^0.7.1",
"bcrypt": "^3.0.6",
"jsonwebtoken": "^8.5.1",
"mysql": "^2.17.1",
"serverless-http": "^2.0.2"myOwnFunction的日志
module initialization error
Error
2019-06-08 09:25:06.043 (+05:30) 33f9015c-c9f0-43a5-8c4a-1fc617ad955d inside OwnerModel在我的代码中,当代码执行到下面的行时
import bcrypt from 'bcrypt';显示模块初始化错误
我希望执行lambda api,即使它是在windows机器的帮助下部署的。
发布于 2019-06-11 14:55:21
您需要使用特定的NodeJS版本在Amazon Linux上编译bcrypt模块,然后将其压缩并部署。
或者,我建议使用bcryptjs
https://stackoverflow.com/questions/56503405
复制相似问题