使用pkg打包編譯nodejs程序,手動設置緩存內容

雖然可以通過編輯package.json文件實現更多選項,但是大多數nodejs程序只有一個入口,因此推薦使用命令行直接編譯打包。

命令行

進入到項目根目錄,以入口腳本爲app.js爲例:

pkg -o app -t node14-linux-x64 app.js

-o 參數 輸出的可執行程序名稱
-t 目標平臺類型,這裏是輸出到linux平臺

常見問題

首次使用會出現下載基礎包時間過長的問題,如:

> Targets not specified. Assuming:
  node14-linux-x64, node14-macos-x64, node14-win-x64
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v14.4.0-linux-x64    [                    ] 0%

這種情況下可以手動下載,進入頁面手動下載對應的基礎包:
https://github.com/vercel/pkg-fetch/releases
然後拷貝到全局目錄PKG_CACHE_PATH 內,PKG_CACHE_PATH 可以通過設置系統變量來設置:

export PKG_CACHE_PATH=/usr/local/node/pkg_cache_path

運行完畢後把這行命令建議放到 /etc/profile文件尾部實現長久生效。
運行過 pkg命令後,PKG_CACHE_PATH 目錄下有個以版本號命名的目錄,將剛纔下載的文件重命名爲所需文件拷貝到這個目錄即可。例如上面命令提示的文件名是 fetched-v14.4.0-linux-x64 ,則拷貝時重命名爲該名稱。
再次運行pkg命令就不會下載了,打包速度很快!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章