2013-07-30 550 views
13

有誰知道如何將nodejs靜態編譯爲單個可執行二進制文件? 我的意思是不需要共享庫。如何將nodejs編譯爲單個完全靜態的二進制文件

舊版本nodejs有一些指南,但不適用於最新版本。

謝謝!

+1

這可能有所幫助:http://architects.dzone.com/articles/compiling-nodejs-projects – furydevoid

+0

謝謝,furydevoid。但我只是希望節點本身是靜態的exe文件,而不是想把所有的js打包在一起。通過這種方式,我可以在Android環境中運行這個單一的二進制文件 – holly

+1

我想要的是'$ ldd/path/to/bin/node'並且在兩年後得到 '不是動態可執行文件' – holly

回答

2

對於那些誰仍覺得這個話題打包應用程序相關的還有一個叫做節點包裝工程,即用的NodeJS二進制可在這裏https://github.com/pmq20/node-packer一起編譯JavaScript代碼但爲了有一個真正的靜態構建,需要修改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腳本。