Linux 如何编译节点C++;插件,以便我可以使用它在亚马逊AWS上分发?

Linux 如何编译节点C++;插件,以便我可以使用它在亚马逊AWS上分发?,linux,node.js,amazon-web-services,aws-lambda,Linux,Node.js,Amazon Web Services,Aws Lambda,AWS lambda不支持在系统上安装linux二进制文件,您必须在系统上包含可执行文件。这对于已经提供静态可执行文件的可执行文件来说很容易 对于使用node gyp编译为的节点二进制插件,这将如何工作?简单地从linux环境中包含build/目录是否有效 有人发现了吗?在我们的例子中,是node dv模块,它是使用node gyp构建的。以下步骤使其工作正常: 生成新的EC2实例。确保它基于与AWS Lambda运行时完全相同的映像。您可以在此处查看Lambda env详细信息:。在我们的例子

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

对于使用
node gyp
编译为的节点二进制插件,这将如何工作?简单地从linux环境中包含
build/
目录是否有效


有人发现了吗?

在我们的例子中,是node dv模块,它是使用
node gyp
构建的。以下步骤使其工作正常:

  • 生成新的EC2实例。确保它基于与AWS Lambda运行时完全相同的映像。您可以在此处查看Lambda env详细信息:。在我们的例子中,是Amazon Linux AMI,名为amzn-AMI-hvm-2015.03.0.x86_64-gp2

  • 安装
    nvm
    ,并使用它安装与AWS Lambda上相同版本的Node.js。在撰写本文时,它是v0.10.36。你可以再查一下

  • 您可能需要在EC2上安装git&g++编译器。你可以跑步

    sudo yum install git gcc-c++
  • 最后,将应用程序克隆到新的EC2并安装应用程序的从属项:

    nvm use 0.10.36
    npm install --production
    

  • 我不明白哪个EC2是哪个。我得到一个在EC2实例上设置系统软件的例子。但是第二个是如何出现的呢?Lambda仅支持某些环境。新的EC2实例将在哪台机器上运行?如何将新EC2实例克隆到Lambda环境中?npm安装是否每次调用都能完成,我想不会吧?