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内部取得成功。

所以你必须:

  1. 您的npm install synchronize是否在运行Amazon Linux的计算机上进行npm install synchronize ,然后从那里进行部署。
  2. 将syncize.jsreplace为asynchronous代码(callback,承诺或asynchronous库)

一般来说,我会推荐#2,如果可能的话。 你其实并没有问一个具体的问题,所以我不积极的为你工作,但希望这给你一些方向。