SuperAPI AI 工具集

building-cypress-binary

部署与运维

查看项目

更新于 10-15 20:30

技能介绍

用途:在 Cypress 仓库本地构建并打包 Electron 二进制文件,产出可用于分发或调试的二进制产物。

主要能力:提供 yarn binary-build(构建 Electron 应用与 staging 树)、yarn binary-package(用 electron-builder 打包)、yarn binary-zip(压缩产物)三条命令;支持与 CI 一致的 Linux 环境(在 yarn docker 内执行);支持 macOS 本地构建并跳过公证。

使用方式:在仓库根目录使用 Yarn 1 与 .node-version 指定的 Node 版本。先确保依赖已安装(缺 lerna/rollup 时先跑 yarn)。非交互场景需在 argv 中提供参数:binary-build 和 binary-package 需要 --version <semver> 与 --platform <os>,binary-zip 只需 --platform <os>;platform 取 darwin、linux、win32。--version 必须与构建后 dist 中 node index.js --version 的输出一致,可先用 env -u ELECTRON_RUN_AS_NODE node packages/server/index.js --version 获取。代理主机上建议给命令加 env -u ELECTRON_RUN_AS_NODE 前缀。macOS 可设 SKIP_NOTARIZATION=1、RESET_ADHOC_SIGNATURE=1(Apple Silicon)、V8_SNAPSHOT_DISABLE_MINIFY=1。

适用场景:本地复现 CI 构建、打包可分发的 Cypress 二进制、调试构建产物。

限制:完整构建会大量写入 dist/ 并可能改动工作区文件,构建后 git status 往往不可靠,需用 git clean -xfd 重置;若父 shell 设置了 ELECTRON_RUN_AS_NODE=1 会导致 dist 冒烟测试出现 Cannot find module 'electron' 的误报,应 unset 该变量而非调整沙箱权限;--version 不匹配会报 different version reported。构建耗时较长、内存占用高,需网络与临时目录权限。相关代码签名与调试细节见仓库指南文档。