serverless-node.js加密包不工作

serverless-node.js加密包不工作,node.js,aws-lambda,serverless,Node.js,Aws Lambda,Serverless,试图使用crypto包生成RSA密钥并将其部署到AWS Lambda上,我得到一个错误,即crypto包未定义。有没有简单的方法可以在不构建docker容器的情况下将此包部署到Lambda 是的,我读到node.js本机软件包在mac和我当前的操作系统和linux上有不同的二进制文件,所以有一种方法可以构建和部署docker,但我发现这对我来说不是很清楚,所以如果这是唯一的方法,也许也有很好的资源可以阅读 谢谢 我也试着避开docker,但它实际上很容易安装。安装 用这个拉动: docker p

试图使用crypto包生成RSA密钥并将其部署到AWS Lambda上,我得到一个错误,即crypto包未定义。有没有简单的方法可以在不构建docker容器的情况下将此包部署到Lambda

是的,我读到node.js本机软件包在mac和我当前的操作系统和linux上有不同的二进制文件,所以有一种方法可以构建和部署docker,但我发现这对我来说不是很清楚,所以如果这是唯一的方法,也许也有很好的资源可以阅读


谢谢

我也试着避开docker,但它实际上很容易安装。安装

用这个拉动:

docker pull lambci/lambda
要装载dev文件夹,请运行以下命令:

docker run -v ~/[mydev-folder]:/var/task  lambci/lambda:nodejs8.10
从Docker应用程序打开Kitematic。你应该看看你拉的集装箱。选择它,如果未启动,则启动它。然后单击Exec,您应该会在/var/task中打开一个bash提示符,它应该指向您的dev文件夹


我通常删除node_模块,然后从docker容器内部运行npm安装。我还从那里部署了sls。

只是一个想法,但可能是因为您在Lambda函数中使用了旧的节点版本,而其中还没有包含加密包?我相信这是最近的发展。可能是2017年。看看是否可以使用serverless运行较新的节点版本。@Imre_G实际上,aws lambda支持8.10节点版本,并且实际上加密包可用于此节点版本,因为我发现没有generateKeyPair函数,但至少加密实例不应该是未定义的,我得到了什么