安装

安装依赖并在开发环境运行桌面应用。

本页从全新 clone 开始,带你打开 Electron 开发窗口。开发命令会以 watch 模式运行 electron-vite,并同时启动 main、preload 与 renderer 三个 bundle。

前置要求

工具版本说明
Node.js`^20.19.0
pnpm11.1.3package.jsonpackageManager 已固定该版本,建议用 Corepack。

普通开发不需要平台 SDK。签名、公证与各目标安装包验证会在 Packaging 页面处理。

安装并运行

clone 模板并进入项目目录。

git clone <your-repo-url> my-desktop-app
cd my-desktop-app

安装依赖。

pnpm install

postinstall 会运行 electron-builder install-app-deps,为当前平台重建 Electron 原生依赖。

创建本地环境配置。

cp .env.example .env

当前 renderer 在挂载前会校验 VITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY。只看外壳时可以暂留示例值;测试认证、 profile、avatar、todos 或计费前,请替换为真实 Supabase 项目。

启动 Electron 开发应用。

pnpm dev

scripts/dev.mjs 包装了 electron-vite dev -w。在 Linux 上,它会为缺少 Electron SUID sandbox helper 的开发机设置 ELECTRON_DISABLE_SANDBOX=1

默认 feature flags 下,认证和自动更新界面开启,计费关闭,Showcase 演示开启。 计费在 VITE_BILLING_ENABLED=true 前保持隐藏;Supabase 认证/数据示例需要真实 Supabase 值才有意义。

验证安装

pnpm dev 启动后,检查这些界面:

  • 桌面窗口打开,并显示自定义标题栏与侧边栏外壳。
  • Home 渲染;showcase flags 开启时,Showcase 与 Components 入口可见。
  • Cmd/Ctrl+K 能打开命令面板。
  • Settings 中修改主题或语言后,重启仍然保留。
  • 首次运行 onboarding 会出现,完成后不再出现。
  • Logs 和 About 能显示诊断信息且不会暴露 secret。

脚本

命令用途
pnpm dev以 watch 模式启动 Electron 与 Vite。
pnpm startelectron-vite preview 预览已构建应用。
pnpm lint运行 ESLint 并自动修复。
pnpm lint:check使用 --max-warnings=0 运行 ESLint。
pnpm typecheck对 node 与 web 配置运行 tsc -b --noEmit
pnpm test运行核心 Vitest 套件。
pnpm test:all运行所有 Vitest 配置。
pnpm test:smoke构建应用,并用 VITE_E2E_BYPASS_AUTH=true 运行 Playwright 冒烟测试。
pnpm build:mac用 electron-builder 构建 macOS 分发包。
pnpm build:win构建 Windows NSIS 安装包。
pnpm build:linux构建 Linux AppImage、Snap 与 Deb。
pnpm build:unpack构建未打包应用目录,不生成安装器。
pnpm supabase:deploy部署 supabase/functions 中的 Supabase Edge Functions。
pnpm analyze:bundle分析 Electron/Vite bundle 输出。
pnpm rebrand重写产品名、slug、app id、scheme 与相关资源。

修改模板前的最低验证:

pnpm lint:check
pnpm typecheck
pnpm test

改动路由、外壳、认证 gate 或桌面 IPC 时,再运行 pnpm test:smoke

首次运行故障

现象可能原因处理
Vite 或 electron-vite 拒绝启动Node 低于支持范围安装 Node ^20.19.0>=22.12.0
pnpm 提示包管理器版本本地 pnpm 不匹配 pnpm@11.1.3启用 Corepack,并运行 corepack prepare pnpm@11.1.3 --activate
原生模块 rebuild 报错postinstall 未完成重新运行 pnpm install;必要时删除 node_modules 后用支持的 Node 版本重装。
出现 Supabase 配置错误屏缺少或无效的 VITE_SUPABASE_URL / VITE_SUPABASE_PUBLISHABLE_KEY复制 .env.example.env,设置两项后重启 pnpm dev
Linux 窗口打开前失败本地 sandbox helper 不可用使用 pnpm dev;包装脚本只会在 Linux 开发环境设置 ELECTRON_DISABLE_SANDBOX=1
开发端口被占用另一个 Vite/Electron 会话仍在运行停止旧会话,或结束占用端口的进程。

相关页面

On this page