小编arv*_*nkx的帖子

无服务器 NodeJS / 原生 node_modules

我在使用无服务器框架在 AWS Lambda 中加载节点模块时遇到问题。我的一个节点包使用本机库,因此我使用 EC2 创建 node_module 文件夹,然后将它们复制到我的无服务器项目中。如果我手动压缩项目并上传到 AWS Lambda,一切正常,但如果我在serverless deploy没有指定工件的情况下使用,我会收到关于模块的错误(特别是:ELF file's phentsize not the expected size关于 .node 文件)

我试过添加excludeDevDependencies: false这使得部署更大,但仍然给我错误。目前,它仅在我压缩项目文件夹的内容并将该文件指定为要上传的工件时才有效。是否有不同的方法来获取具有本机绑定的节点模块以与 Serverless 一起部署?

更新:在关闭开发依赖项的排除、使用serverless package和检查无服务器创建的扩展 zip 文件后,我发现 .o 和 .a 文件的文件大小在打包版本中与原始文件不同。这是正常的吗?

在此处输入图片说明

amazon-web-services node.js aws-lambda serverless-framework

5
推荐指数
1
解决办法
1032
查看次数