Javascript 使用AWS Lambda安装npm
我正在用Javascript编写AWS Lambda函数。 我需要使用synchronize.js库,所以我运行了Javascript 使用AWS Lambda安装npm,javascript,node.js,amazon-web-services,npm,aws-lambda,Javascript,Node.js,Amazon Web Services,Npm,Aws Lambda,我正在用Javascript编写AWS Lambda函数。 我需要使用synchronize.js库,所以我运行了npm安装synchronize。 本地一切正常,但当我将*.zip上传到AWS并运行时,会出现以下错误: "errorMessage": "`/var/task/node_modules/fibers/bin/linux-x64-v8-3.14/fibers.node` is missing. Try reinstalling `node-fibers`?" 我认为它期望np
npm安装synchronize
。
本地一切正常,但当我将*.zip上传到AWS并运行时,会出现以下错误:
"errorMessage": "`/var/task/node_modules/fibers/bin/linux-x64-v8-3.14/fibers.node` is missing. Try reinstalling `node-fibers`?"
我认为它期望npm安装不同的二进制文件版本。如何修复它?因为AWS Lambda不为您执行
npm安装
,任何需要二进制构建步骤的npm模块都可能会遇到问题,具体取决于模块的功能、构建方式等。我不熟悉synchronize.js,但它可能需要在Amazon Linux上构建才能在AWS Lambda内部成功
因此,你必须:
npm
总的来说,如果可能的话,我推荐2号。您实际上并没有问特定的问题,所以我不确定这是否适合您,但希望这能为您提供一些指导。AWS Lambda在运行之前不会运行
npm install
。您使用的任何库也应该压缩。我在zip文件中包含node_modules目录。Amazon试图找到node_modules/fibers/bin/linux-x64-v8-3.14/。。但是npm安装node_modules/fibers/bin/linux-x64-v8-4.6文件夹