How can I compile a node C++ addon so that I can use distribute it on amazon AWS?

半城伤御伤魂 提交于 2020-01-01 16:38:21

问题


AWS lambda does not support installing linux binaries on the system, you would have to include the executables on your system. this would be easy for executables such as ffmpeg that already supply static executables.

How would this work for node binary addons that are compiled to using node-gyp? Would simply including the build/ directory from a linux environment work?

Has anyone figured this out yet?


回答1:


In our case, it was node-dv module, which is built using node-gyp. The following steps make it work:

  1. Spawn new EC2 instance. Make sure it is based on exactly the same image as your AWS Lambda runtime. You can review Lambda env details here: http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html. In our case, it was Amazon Linux AMI called amzn-ami-hvm-2015.03.0.x86_64-gp2.

  2. Install nvm and use it to install the same version of Node.js as on the AWS Lambda. At the time of writing this, it was v0.10.36. You can refer to http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html again to find out.

  3. You will probably need to install git & g++ compiler on the EC2. You can do this running

    sudo yum install git gcc-c++
  4. Finally, clone your app to your new EC2 and install your app's dependecies:

    nvm use 0.10.36
    npm install --production
    


来源:https://stackoverflow.com/questions/30282091/how-can-i-compile-a-node-c-addon-so-that-i-can-use-distribute-it-on-amazon-aws

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!