最近公司在搞客户端 CI,是要交付 electron Mac 客户端。有两个问题搞不太懂。
1 、npm install 卡住的问题。
网络好的时候会安装成功,大部分时候都会卡住。已经配置了私服,挂了淘宝的源。是 sqlite3 这个包安装有问题吗。或者怎么查看 electron-builder install-app-deps 更具体的日志呢?
2 、构建.app 之后怎样打包成 pkg 格式的包呢,现在使用苹果自带的工具,但是没有命令行,Jenkins 中没法搞,也试过 quickpkg 这个工具,但是写入一些包的信息较少,无法满足要求。不知道还有什么好的方法打包。
1
EPr2hh6LADQWqRVH 2021-03-07 01:08:36 +08:00 via Android
问题一,我的做法是开发人员提前编译好本地组件,打包时不做编译。
问题二,好好看一下 electron-builder 的文档 |
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>" |
3
Rheinmetal 2021-03-07 11:21:47 +08:00
可以考虑一下用 Docker 镜像做 CI 环境
依赖不更改就不再次执行 electron-builder install-app-deps 直接从 registry pull image 下来 |
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 |
5
axeprpr1 2021-03-07 22:49:22 +08:00
因为 electorn node 版本的问题,sqlite3 这类 c/c++编写的库需要 electron-rebuild 非常操蛋。我们现在是尽量避免使用这种库,数据库我用的 lowdb 代替 sqlite3,如果非要用,你可以试试 sql.js ,这个是 sqlite3 的 wasm 版本。
|