三个压缩包,卡住Electron-builder打包的一天

1,657 阅读2分钟

图片.png

测试目标:使用Electron-builder快速打包exe可安装应用软件
系统环境:win11
软件版本:
electron: 28.0.0
electron-builder: 24.9.1
Node.js 18.x

〇、Electron-builder打包错误过程复现

在执行打包的过程汇总,会依次出现三个错误,仍然能够生成win-unpacked(无需安装的软件版笨) :
x Get winCodeSign-2.6.0.7z 下载失败
x Get nsis-resources-3.4.1.7z 下载失败
x Get nsis-3.0.4.1.7z 下载失败

6_$AHE)U8T8A3ASFZ53YOOT.png

// 使用的package.json 片段,注意补充其他完整


    "build": {  
        "productName":"testABC",  
        "directories": {  
          "output": "out"  
        },  
        "nsis": {  
          "oneClick": false,  
          "allowElevation": true,  
          "allowToChangeInstallationDirectory": true,  
          "installerIcon": "./ico/logo.ico",  
          "uninstallerIcon": "./ico/logo.ico",  
          "installerHeaderIcon": "./ico/logo.ico",  
          "createDesktopShortcut": true,  
          "createStartMenuShortcut": true,  
          "shortcutName": "安装快捷方式的名称"  
        },  
        "win": { 
          "icon": "./ico/logo.ico",  
          "target": [  
            {  
              "target": "nsis",  
              "arch": [  
                "x64"  
              ]  
            }  
          ]  
        }  
    }

一、打包需要的三个关键文件

这三个文件在打包时,会注意从逐一github下载 图片.png

使用Electron-builder由于国外网络的原因经常报错。
叛逆,其中winCodeSign.7z(5504KB)同一个大小,在Electron-builder缓存文件中疯狂重复下载解压多次。

图片.png

二、解压三个文件放Electron-builder缓存中

图片.png 这里我将需要的文件逐个解压后,根据目录再次打包。
看到文章需要的可以私信我邮箱。
想逐个下载官方zip,可以根据报错访问github地址,使用手机4G/5G网络。

图片.png

//将该压缩包解压后,整个放置于:
%LOCALAPPDATA%\electron-builder\Cache
C:\Users\25051\AppData\Local\electron-builder\Cache


//形成目录如下例如:
C:\Users\25051\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.4.1
C:\Users\25051\AppData\Local\electron-builder\Cache\nsis\nsis-resources-3.4.1\plugins
C:\Users\25051\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.6.0

2.1 winCodeSign-2.6.0文件夹

图片.png

2.2 nsis-3.0.4.1文件夹

图片.png

2.3 nsis-resources-3.4.1\plugins文件夹

图片.png

三、打包过程执行演示

图片.png 注意:打包过程中会生成 nsis格式的中间产物,最后被自动替换成 .exe 图片.png

图片.png

四、总结

Electron-builder属于第三方打包工具,由于国外网络原因使用npm工具不太稳定,可以切换手机5G网络下载试试。
或者手动单独下载需要的模块进行替换。打包后的文件由于包含了Chrome浏览器,通常在200MB以上。

参考文献:

1.electron-builder打包过程中报错 zhuanlan.zhihu.com/p/483976136