node版本 v16.17.1
项目依赖版本
"devDependencies":{"@electron/rebuild":"^3.2.5","@types/node":"16.18.88","debug":"^4.4.0","ee-bin":"^4.1.10","electron":"22.3.27","electron-builder":"22.10.5"},"dependencies":{"ee-core":"^4.1.5","electron-updater":"^6.3.8"}删除node_modules和package-lock.json
然后执行npm cache clean --force清除缓存
重新npm i
中文路径问题
Processing config: C:\Users\��\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.4.1\nsisconf.nsh
打包过程如果出现乱码可能是中文导致
打开 node_module/app-builder-lib/out/targets/nsis/NsisTarget.js文件,在 executeMakensis 方法中加入我们所需的参数。
//node_module/app-builder-lib/out/targets/nsis/NsisTarget.jsasyncexecuteMakensis(defines,commands,script){constargs=this.options.warningsAsErrors===false?[]:["-WX"];//此处新增args.push("-INPUTCHARSET","UTF8");//结束for(constnameofObject.keys(defines)){constvalue=defines[name];if(value==null){args.push(`-D${name}`);}else{args.push(`-D${name}=${value}`);}}配置文件
配置打32位包的命令 对应到cmd/bin.js
打包
npmrun buildnpmrun build-w-32打包麒麟包时需要设置