需求

需要在没有node环境的电脑上运行node程序

打包工具安装

npm install pkg -g

打包程序

找到程序入口文件:pkg 入口文件 -o 输出名

pkg src/index.js  -o app

以上指令会生成app.exe文件

错误处理

  • 可能会遇到以下错误
> Targets not specified. Assuming:
  node10-win-x64
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v10.17.0-win-x64     [                    ] 0%
> Error! getaddrinfo ENOENT github-production-release-asset-2e65be.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com:443
> Asset not found by direct link:
  {"tag":"v2.6","name":"uploaded-v2.6-node-v10.17.0-win-x64"}
> Error! read ECONNRESET
  • 处理方法
  1. 找到当前用户home文件夹,windows一般为C:\Users\用户名
  2. 在home文件夹里找到.pkg-cache/v2.6 文件夹 (具体以当前有v2.x文件夹为主)
  3. 下载对应系统对应版本(版本可相差不大)的node二进制文件
  4. 将第三步下载的文件移动到第二步的文件夹(将第二步的文件夹.pkg-cache/v2.6里的文件先删除完)
  5. 将移动后的文件重命名为fetched-v10.xx.x-win-x64(具体参考第三步下载的版本名)
  6. 重新打包

具体参考项目地址


zpfei
186 声望7 粉丝

往事如风~