【Linux】環境下用pkg打包部署NodeJS執行文件


npm i pkg-fetch -g

  

因為項目原因,需要將NodeJS項目用pkg打包成一個可執行文件,在Linux arm64環境下獨立運行。如何在linux下安裝nodejs、npm、換源、安裝pkg等前置操作我就不細說了,網上相關的文章很多,但是基本上都是介紹如何將項目打包成可以在win下執行的exe可執行文件,對於如何在Linux下進行打包的介紹比較少,因此這些着重記錄一下如何下Linux環境下通過pkg將Nodejs項目打包成可執行文件。

 

准備工作:如何想打包Linux可執行文件,必須在linux環境下打包,在win環境下打包會報錯:Not able to build for 'linux' here, onlyu for 'win'。也就是說linux可執行文件需要在linux環境下打包,win文件需要在win環境下打包。

 

因此我自備了一台linux設備,不過我的Linux環境是linux-arm64國產麒麟操作系統,x86還是arm64差別不大。

 

在linux下打包的命令和win下打包的命令差不多:

pkg -t node14-linux-arm64 ./ --out-path=dist

 

在執行打包命令時,會非常坑爹地發現pkg打包用的node二進制文件無法下載,因為是從github上下載,經常會因為網速或是其它原因導致下載超時。

經過一番搜索后發現,這個node二進制文件是通過pkg-fetch下載的,為了避免自動下載超時,我們可以手動預先從pkg-fetch下載node二進制文件。

1.通過以下提示可得知pkg對應的pkg-fetch版本

 

 2.執行pkg-fetch安裝命令

npm i pkg-fetch -g

 

3.執行完后,在linux的/home/kylin/.pkg-cache文件夾下新建v3.2文件夾。

 

4.從pkg-fetch官網上手動下載對應node二進制文件。

地址:https://github.com/vercel/pkg-fetch/releases

注意:下載的版本必須與pkg打包命令中的版本一致

pkg -t node14-linux-arm64 ./ --out-path=dist

 

 

5.將二進制文件手動放到/home/kylin/.pkg-cache/v3.2下

 

 

 6.重新執行pkg命令,就會在dist下生成一個可執行文件。

 

7.運行./可執行文件 ,驗證程序運行正常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM