BaiqiCMS V1.2.5 正式版

Nginx/IIS/Apache PHP5.3+ MySQL5.7+

外贸型/营销型/品牌企业网站建设首选CMS

node.js pkg打包成exe后打开自动退出原因

遇到的问题是:用node.js开发服务器,用pkg打包成exe后,打开exe闪一下自动退出,不知道什么原因,经过搜索后一步步的解决问题。

node.js pkg打包成exe后打开自动退出原因

1、分析是什么原因导致的自动退出,我们打开一个cmd窗口,进入到 exe的目录,在cmd下直接运行 ***.exe,就可以看到exe闪退的原因。如下图:

Error: No native build was found for platform=win32 arch=x64 runtime=node abi=108 uv=1 libc=glibc node=18.5.0
loaded from: C:snapshotjson-to-escnode_modulesusb

这个错误的提示是:表明在当前的环境下,usb 模块没有找到对应的原生构建版本。

2、问题的解决办法

因为运行时是正常的,在查找原因期间也多次安装过不同版本的node.js,也重新编辑过usb模块,更是了解到npm install和cnpm install安装不同的模块,然后打包可能会有问题。经过多方查阅资料,在某篇技术文章里找到是因为usb这个模块没有导入进去,结果在 package.json 配置里添加上,最后打包成功了。package.json部分内容如下,其中assets是引用的usb模块资源,targets是表示是用node18版本来打包,outputPath是表示打包生成的目录

{
  "name": "JsonPrinter",
  "version": "1.0.0",
  "main": "index.js",
  "bin": "./index.js",
  "pkg": {
    "assets": "node_modules/usb/prebuilds/win32-x64/*.node",
    "targets": [
      "node18"
    ],
    "outputPath": "dist"
  },
  "scripts": {
    "start": "node index.js",
    "pkg": "pkg . --public --public-packages=* --out-path=dist/  --debug"
  },
  "dependencies": {
  }
}
×
BaiqiCMS官方客服

微信二维码

关闭