【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.运行./可执行文件 ,验证程序运行正常。

 

posted @ 2022-03-14 18:25  のんきネコ  阅读(3390)  评论(1编辑  收藏  举报