V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zuihoudezhanyi
V2EX  ›  Node.js

求助! electron 自动化构建的相关问题!

  •  
  •   zuihoudezhanyi · 2021-03-07 01:02:57 +08:00 · 2444 次点击
    这是一个创建于 1361 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司在搞客户端 CI,是要交付 electron Mac 客户端。有两个问题搞不太懂。

    1 、npm install 卡住的问题。

    image

    网络好的时候会安装成功,大部分时候都会卡住。已经配置了私服,挂了淘宝的源。是 sqlite3 这个包安装有问题吗。或者怎么查看 electron-builder install-app-deps 更具体的日志呢?

    2 、构建.app 之后怎样打包成 pkg 格式的包呢,现在使用苹果自带的工具,但是没有命令行,Jenkins 中没法搞,也试过 quickpkg 这个工具,但是写入一些包的信息较少,无法满足要求。不知道还有什么好的方法打包。

    5 条回复    2021-03-07 22:49:22 +08:00
    EPr2hh6LADQWqRVH
        1
    EPr2hh6LADQWqRVH  
       2021-03-07 01:08:36 +08:00 via Android
    问题一,我的做法是开发人员提前编译好本地组件,打包时不做编译。

    问题二,好好看一下 electron-builder 的文档
    12101111
        2
    12101111  
       2021-03-07 10:36:11 +08:00
    因为 electron 安装是不走 npm/yarn 源的,是直接从 github release 下载的.不过看起来你是卡在了 native 依赖上
    除了本体还要安装一个头文件,这个可以手动安装,下载
    https://atom.io/download/electron/v${ELECTRON_VERSION}/node-v${ELECTRON_VERSION}-headers.tar.gz
    然后运行
    node-gyp install --target="${ELECTRON_VERSION}" --tarball="<path to node-v${ELECTRON_VERSION}-headers.tar.gz>"
    Rheinmetal
        3
    Rheinmetal  
       2021-03-07 11:21:47 +08:00
    可以考虑一下用 Docker 镜像做 CI 环境
    依赖不更改就不再次执行 electron-builder install-app-deps
    直接从 registry pull image 下来
    duan602728596
        4
    duan602728596  
       2021-03-07 12:07:46 +08:00
    编译的配置挺多的,建议使用 js 脚本替代命令行进行构建。
    1 、卡住是因为有些文件需要从 github 上下载。electron 可以配置淘宝镜像,但是其他的文件还是需要从 github 上下载。最近开会,不仅下载会有影响,甚至我这边翻墙了,却连代码都拉不下来。
    2 、pkg 打包建议查看文档 https://www.electron.build/configuration/mac#MacConfiguration-target
    axeprpr1
        5
    axeprpr1  
       2021-03-07 22:49:22 +08:00
    因为 electorn node 版本的问题,sqlite3 这类 c/c++编写的库需要 electron-rebuild 非常操蛋。我们现在是尽量避免使用这种库,数据库我用的 lowdb 代替 sqlite3,如果非要用,你可以试试 sql.js ,这个是 sqlite3 的 wasm 版本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1597 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.