如何编译节点C ++插件以便我可以在amazon AWS上使用它?

时间:2015-05-17 00:27:07

标签: linux node.js amazon-web-services aws-lambda

AWS lambda不支持在系统上安装Linux二进制文件,您必须在系统中包含可执行文件。这对于已经提供静态可执行文件的ffmpeg等可执行文件来说很容易。

对于使用node-gyp编译的节点二进制插件,这有什么用?只是包含来自linux环境的build/目录吗?

有人想出来了吗?

2 个答案:

答案 0 :(得分:1)

在我们的例子中,它是node-dv模块,它是使用node-gyp构建的。以下步骤使其有效:

  1. 生成新的EC2实例。确保它基于与AWS Lambda运行时完全相同的映像。您可以在此处查看Lambda env详细信息:http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html。在我们的例子中,亚马逊Linux AMI被称为 amzn-ami-hvm-2015.03.0.x86_64-gp2

  2. 安装nvm并使用它来安装与AWS Lambda相同版本的Node.js。在撰写本文时,它是 v0.10.36 。您可以再次参考http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html查找。

  3. 您可能需要安装git& EC2上的g ++编译器。你可以运行

    sudo yum install git gcc-c++
  4. 最后,将您的应用程序克隆到新的EC2并安装应用程序的依赖项:

    nvm use 0.10.36
    npm install --production
    

答案 1 :(得分:0)

我的问题得到了类似的答案,请参阅以下论坛链接https://forums.aws.amazon.com/thread.jspa?threadID=180372

没有多少人使用lambda ..我太想在下面的场景中使用它,如果你有想法请发表回答 AWS Lambda : Can those event can be integrated with API Management Tools?