首页 > 其他分享 >Electron打包的时候路径存在中文出现的bug

Electron打包的时候路径存在中文出现的bug

时间:2023-05-26 12:11:05浏览次数:42  
标签:node name args electron util Electron bug 打包 ChildProcess

在打包electron的时候报了这条错误

1 Error output:
2 !include: could not find: "C:\Users\xxxx(这里是中文)\AppData\Local\Temp\t-TH3KzB\0-messages.nsh"
3 Error in script "<stdin>" on line 75 -- aborting creation process

这个报错意思是路径有中文存在,解析不到,完整的错误显示如下:

 1 Error output:
 2 !include: could not find: "C:\Users\xxxx(这里是中文)\AppData\Local\Temp\t-TH3KzB\0-messages.nsh"
 3 Error in script "<stdin>" on line 75 -- aborting creation process
 4 
 5     at ChildProcess.<anonymous> (D:\electron-learing\electron-record-learn\record-project\node_modules\builder-util\src\util.ts:250:14)
 6     at Object.onceWrapper (node:events:642:26)                                                       s\builder-util\src\util.ts:250:14)
 7     at ChildProcess.emit (node:events:527:28)
 8     at ChildProcess.cp.emit (D:\electron-learing\electron-record-learn\record-project\node_modules\cross-spawn\lib\enoent.js:34:29)
 9     at maybeClose (node:internal/child_process:1092:16)
10     at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) {
11   exitCode: 1,
12   alreadyLogged: false,
13   code: 'ERR_ELECTRON_BUILDER_CANNOT_EXECUTE'
14 }

参考了网上的解决方法,思路是把编译出来的乱码用utf-8来编译:

找到 node_module/app-builder-lib/out/targets/nsis/NsisTarget.js文件,在 executeMakensis 方法中加入相应的代码,

 1 async executeMakensis(defines, commands, script) {
 2     const args = this.options.warningsAsErrors === false ? [] : ["-WX"];
 3     //添加下面这一行即可
 4     args.push("-INPUTCHARSET", "UTF8");
 5     for (const name of Object.keys(defines)) {
 6         const value = defines[name];
 7 
 8         if (value == null) {
 9             args.push(`-D${name}`);
10         } else {
11             args.push(`-D${name}=${value}`);
12         }
13     }
14 }

最后再重新build就能成功啦!

标签:node,name,args,electron,util,Electron,bug,打包,ChildProcess
From: https://www.cnblogs.com/NUNA/p/17434401.html

相关文章

  • FLEX AIR实践—FLEX AIR XML Encode Bug
     这几天在用AIR程序通过WebService进行数据传输时发现了以下问题:用WebService传输‘A&B’内容到目的地,再从目的地将数据通过WebService获取到本地,结果数据变成了'A&amp;B';于是开始进行以下测试:将'A&B'替换成'A&amp;B'——>获取结果为'A&amp;amp;B'测试了其他转义字符也得到了同样......
  • 项目中添加lib的方法 并 lib与maven打包时进行兼容
    <dependency><groupId>com.chinaums</groupId><artifactId>fast-sso</artifactId><version>1.0.0-SNAPSHOT</version><scope>system</scope>......
  • JEECG-BOOT访问权限控制的BUG
    http://doc.jeecg.com/2044037根据此链接,还是无法解决权限问题,最后查到是一个两个角色都设置了一个用户,而后台权限获取SQL只取一个导致权限列表获取错误。  ......
  • 汇编-debug命令
    r   查看cpu寄存器内容     ......
  • Pycharm中配置Pyinstaller工具 and 多文件打包
    一、Pycharm中配置Pyinstaller首先,要下载个pyinstaller库,用pipinstallinstaller等待完成即可(顺带记录下pip配置国内镜像的方法:国内源:阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣http://pypi.douban.com/......
  • Firefox8.0.1及对应firebug1.9.0,firepath0.9.7.1.1插件下载
    firefox8.0.1链接:https://pan.baidu.com/s/1x9M6dimmvQrBee_iSeVcZg提取码:ewy8旧版本安装注意,安装前必看:firefox旧版本下载后打开为为最新版怎么办firebug1.9.0链接:https://pan.baidu.com/s/1g55zj8BjciR4U3Mn1ApqFQ提取码:zfj3firepath0.9.7.1.1链接:https://pan.baidu.com/s/......
  • vue3+vite build打包删除控制台打印
    很简单,直接在vite.config.ts里面添加配置即可:exportdefault({mode})=>defineConfig({build:{minify:"terser",terserOptions:{compress:{//生产环境时移除consoledrop_console:true,drop_debugger:true,......
  • vite开启gzip打包
    vite社区提供了一个插件vite-plugin-compression,可以用来进行gzip压缩。1.在项目中执行安装命令npmi'vite-plugin-compression'2.在vite.config.ts中引入,并增加一下代码片段viteCompression importviteCompressionfrom'vite-plugin-compression'constplugins=[v......
  • 解决maven打包异常 Fatal error compiling: 错误: 无效的目标发行版
      问题:刚从github上拉下来的代码用idea中的maven打包就报这个错:“Fatalerrorcompiling:错误:无效的目标发行版”,很明显是打包时的版本不对,现在记录下解决问题的步骤留待以后参考:1、确定项目pom.xml的版本: 项目是使用JDK17,pom.xml的设置没有问题,接着2、确定idea中项......
  • 命令行mvn打包
    命令行打包,以下是打jar和war:打jar包 :mvncleaninstall-Dmaven.test.skip=true打war包:mvncleanpackage-Dmaven.test.skip=true-Dmaven.test.skip=true 跳过单元测试 命令修改并启动jar包端口号:java-jar-Dserver.port=8090sell.jar命令修改并启动jar包端口号和切换项目环......