# worklog-todo-app **Repository Path**: twoke/worklog-todo-app ## Basic Information - **Project Name**: worklog-todo-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-09 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # worklog-todo-app An Electron application with Vue and TypeScript > 项目依赖管理使用 pnpm(`packageManager: pnpm@9.15.4`),请勿使用 npm 或 yarn 安装依赖。 ## Recommended IDE Setup - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) ## Project Setup ### Install ```bash $ pnpm install ``` ### Development ```bash $ pnpm dev ``` ### Build ```bash # For windows $ pnpm build:win # For macOS $ pnpm build:mac # For Linux $ pnpm build:linux ``` ## 常见问题 ### 1. better-sqlite3 安装失败 **现象:** 执行 `pnpm i` 时,`better-sqlite3` 安装脚本报错退出。 **原因:** 安装过程分两步: 1. `prebuild-install` — 从 GitHub Releases 下载预编译的 `.node` 二进制文件 2. `node-gyp rebuild`(第一步失败的 fallback)— 从源码编译 常见失败场景及对策: | 场景 | 错误特征 | 解决方法 | |------|----------|----------| | 国内网络无法访问 GitHub | `prebuild-install warn install Request timed out` | 使用代理,或安装 VS Build Tools 使其 fallback 到源码编译 | | 缺少 C++ 编译工具链 | `gyp ERR! find VS You need to install Visual Studio` | 安装 **Visual Studio 2022 Build Tools**,勾选 "Desktop development with C++" 工作负载(下载地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/) | > 推荐同时解决以上两个问题:安装 VS Build Tools 后,即使 prebuild-install 因网络问题超时,也能通过源码编译成功安装。 ### 2. 启动报错 NODE_MODULE_VERSION 不匹配 **现象:** 执行 `pnpm dev` 时,控制台报错: ``` The module '...better_sqlite3.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 127. This version of Node.js requires NODE_MODULE_VERSION 140. ``` **原因:** `better-sqlite3` 编译时使用的是系统 Node.js(v22,NODE_MODULE_VERSION 127),但 Electron 内置了不同版本的 Node.js(NODE_MODULE_VERSION 140),导致 ABI 不兼容。 **解决方法:** 针对 Electron 重新编译原生模块: ```bash # 方式一:运行 postinstall 脚本(推荐) pnpm postinstall # 方式二:使用 electron-builder npx electron-builder install-app-deps # 方式三:使用 electron-rebuild pnpm add -D @electron/rebuild npx electron-rebuild -f -w better-sqlite3 ``` 运行后再次执行 `pnpm dev` 即可正常启动。