如何将nodejs编译为一个完全静态的二进制文件

有谁知道如何静态编译nodejs到一个可执行的二进制文件? 我的意思是不需要共享库。

老版本的nodejs有一些指南,但不适用于最后一个。

谢谢!

其实,我想要一个单一的静态二进制运行在Android平台上。

而现在,最高版本为0.11.8,node.js正式添加了android的支持。

我的同事build立它不仅武装,而且android-x86。 一切工作正常!

https://github.com/joyent/node/commit/5e4e8ec429381a8d1eebe31647e9daaaae42c54b

您可以使用nodejs-static docker图像来获取与musl libc链接的静态编译的Node.JS二进制文件。

https://hub.docker.com/r/dundee/nodejs-static/

对于那些仍然认为这个主题相关的人来说,有一个名为node-packer的项目,它编译javascript代码以及在这里https://github.com/pmq20/node-packer可用的nodejs二进制文件,但为了有一个真正的静态构build需要修改ruby脚本并添加标志–fully-static和–without-npm,这样可以使二进制文件在没有libstdc ++或glibc的情况下运行,但是在nodejs wiki中有一些解释。 我也已经在这里进行了修改( https://github.com/cmosh/node-packer ),只是将标志–static添加到命令,即nodec –static foo.js. 另外为了运行这个,你将需要安装ruby和nodejs,并在克隆的repo的bin文件夹中运行nodec脚本。

这里有另外一个可以将你的应用程序打包成一个可执行文件https://www.npmjs.com/package/pkg