首页 文章

使用AWS Lambda安装npm

提问于
浏览
1

我在Javascript中编写AWS Lambda函数 . 我需要使用synchronize.js库,所以我运行 npm install synchronize . 一切都在本地工作正常,但是当我将* .zip上传到AWS并运行时,它会消除以下错误:

"errorMessage": "`/var/task/node_modules/fibers/bin/linux-x64-v8-3.14/fibers.node` is missing. Try reinstalling `node-fibers`?"

我认为它希望npm安装不同的二进制版本 . 我该如何解决?

1 回答

  • 1

    由于AWS Lambda不会为您执行 npm install ,因此任何需要二进制构建步骤的npm模块都会遇到问题,具体取决于不熟悉synchronize.js的模块's functionality, how it builds, etc. I',但可能需要在Amazon Linux上构建才能在AWS内部成功LAMBDA .

    所以你必须:

    • 在运行Amazon Linux的计算机上执行 npm install synchronize ,并从那里进行部署 .

    • 将synchronize.js替换为异步代码(回调,承诺或异步库)

    一般来说,如果可能,我会建议#2 . 你实际上并没有问一个具体的问题,所以我不肯定会对你有用,但希望这会给你一些方向 .

相关问题