npm使用AWS Lambda进行安装
我正在用Javascript编写AWS Lambda函数。 我需要使用synchronize.js库,所以我运行npm install synchronize
。 一切工作正常本地,但是当我上传* .zip到AWS并运行,它thorws以下错误:
"errorMessage": "`/var/task/node_modules/fibers/bin/linux-x64-v8-3.14/fibers.node` is missing. Try reinstalling `node-fibers`?"
我认为它预计由npm安装不同的二进制文件版本。 我该如何解决?
由于AWS Lambda不会为您执行npm install
,任何需要二进制构build步骤的npm模块都可能会遇到问题,具体取决于模块的function,构build方式等。我对synchronize.js不熟悉,但可能需要将在Amazon Linux上构build,以在AWS Lambda内部取得成功。
所以你必须:
- 您的
npm install synchronize
是否在运行Amazon Linux的计算机上进行npm install synchronize
,然后从那里进行部署。 - 将syncize.jsreplace为asynchronous代码(callback,承诺或asynchronous库)
一般来说,我会推荐#2,如果可能的话。 你其实并没有问一个具体的问题,所以我不积极的为你工作,但希望这给你一些方向。