基于OS的不正确的node_module部署到lambda

时间:2018-09-03 21:08:50

标签: lambda serverless-framework serverless

我正在使用无服务器框架来创建lambda函数,并在通过调用进行测试时将所有工作很好地本地部署(在我的Mac上),但是一旦将其部署到AWS上,我会收到以下错误消息:

    2018-09-03T20:16:26.800Z    3bb86928-afb6-11e8-8ff0-912d71d35609    Error: Failed to load gRPC binary module because it was not installed for the current system
Expected directory: node-v57-linux-x64-glibc
Found: [node-v57-darwin-x64-unknown]
This problem can often be fixed by running "npm rebuild" on the current system
Original error: Cannot find module '/var/task/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node'

无服务器中是否有一种方法可以执行yarn/npm install,以便所有安装的软件包都与运行它们的操作系统相匹配?

1 个答案:

答案 0 :(得分:1)

您应该能够通过在部署之前在本地执行以下步骤来解决此错误:

npm rebuild --target_platform=linux --target_libc=glibc

这应该安装要部署到的系统上所需的grpc二进制版本。