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

2024-03-30

AWS lambda 不支持在系统上安装 Linux 二进制文件,您必须在系统上包含可执行文件。这对于可执行文件来说很容易,例如ffmpeg http://johnvansickle.com/ffmpeg/已经提供静态可执行文件。

对于编译为使用的节点二进制插件来说,这将如何工作node-gyp?只需包括build/Linux 环境下的目录工作吗?

有人已经弄清楚了吗?


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

  1. 生成新的 EC2 实例。确保它基于一模一样图像作为您的 AWS Lambda 运行时。您可以在此处查看 Lambda 环境详细信息:http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html。在我们的例子中,它是 Amazon Linux AMI,名为amzn-ami-hvm-2015.03.0.x86_64-gp2.

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

  3. 您可能需要在 EC2 上安装 git 和 g++ 编译器。你可以运行这个

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

    nvm use 0.10.36
    npm install --production
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何编译节点 C++ 插件,以便我可以在亚马逊 AWS 上分发它? 的相关文章

随机推荐