javascript - npm 安装与 AWS Lambda

标签 javascript node.js amazon-web-services npm aws-lambda

我正在用 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 安装不同的二进制版本。我该如何解决?

最佳答案

因为 AWS Lambda 不会为您执行 npm install,任何需要二进制构建步骤的 npm 模块都可能会遇到问题,具体取决于模块的功能、构建方式等。我不是熟悉 synchronize.js,但它可能需要在 Amazon Linux 上构建才能在 AWS Lambda 中取得成功。

所以你必须:

  1. 在运行 Amazon Linux 的机器上执行您的 npm install synchronize,并从那里进行部署。
  2. 用异步代码(回调、 promise 或异步库)替换 synchronize.js

一般来说,如果可能的话,我会推荐#2。你实际上并没有问一个具体的问题,所以我不确定这对你有用,但希望这能给你一些指导。

关于javascript - npm 安装与 AWS Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36079438/

相关文章:

javascript - Jquery推送功能

javascript - 从 JavaScript 调用 vimeo API

node.js - 无需重定向的代理node-http-proxy

javascript - 创建 Node.js + socket.io 服务器/客户端,进行用户身份验证、发送/接收数据

mysql - NoSQL/SQL 架构和实现,1 个集合/表或更多?

amazon-web-services - 通过 AWS Glue 数据目录将 Spark DataFrame 写入 Hive 表

java - 是否使用后端 Web 服务

javascript - AWS Lambda 给出 "Process exited before completing request"

javascript - react + react 突出显示。代码高亮

amazon-web-services - 对 AWS 特定参数类型强制执行非空验证