新增: - scripts/build-win.bat: Windows 构建脚本 - scripts/build-win.sh: Linux/macOS 构建脚本 更新: - BUILD_WINDOWS.md: 完善构建说明 - 添加脚本使用说明 - 简化手动打包步骤 - 整理常见问题解答 注意: - Windows ZIP 包较大 (132MB),建议在各平台自行构建 - 推荐使用提供的脚本进行构建 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.7 KiB
3.7 KiB
Windows 构建指南
构建说明
重要提示: 强烈建议在 Windows 系统上直接构建 Windows 版本。
方法一:在 Windows 上构建(推荐)
1. 环境准备
# 安装 Node.js 20+
# 从 https://nodejs.org 下载安装
# 克隆项目
git clone https://gitea.impressionyang.top/impressionyang/impress_asr_input.git
cd impress-asr-input
2. 安装依赖
# 安装依赖
npm install
3. 放入模型文件(可选)
将 ONNX 模型放入 models/ 目录:
sensevoice.onnxwhisper.onnxparaformer.onnx
4. 构建
使用脚本构建(推荐):
# 双击运行或命令行执行
scripts\build-win.bat
或手动构建:
# 构建 ZIP 包(无需签名)
npm run build:win:zip
# 构建 NSIS 安装程序
npm run build:win
# 构建解压目录版本(用于测试)
npm run build:win:dir
输出目录:release/
方法二:在 Linux/macOS 上手动打包
步骤 1: 编译 TypeScript
npm run build
步骤 2: 下载 Electron
从镜像下载 Electron:
curl -L -o /tmp/electron-win.zip \
https://npmmirror.com/mirrors/electron/28.3.3/electron-v28.3.3-win32-x64.zip
步骤 3: 打包
# 创建发布目录
mkdir -p release/impress-asr-input-win-x64
# 解压 Electron
unzip /tmp/electron-win.zip -d release/impress-asr-input-win-x64/
# 复制应用文件
cp -r dist/* release/impress-asr-input-win-x64/resources/app/
# 复制 node_modules
mkdir -p release/impress-asr-input-win-x64/resources/app/node_modules
cp -r node_modules/onnxruntime-web release/impress-asr-input-win-x64/resources/app/node_modules/
cp -r node_modules/clipboardy release/impress-asr-input-win-x64/resources/app/node_modules/
cp -r node_modules/commander release/impress-asr-input-win-x64/resources/app/node_modules/
# 压缩
cd release/
zip -r Impress_ASR_Input-0.1.0-win-x64.zip impress-asr-input-win-x64/
构建输出
release/
├── Impress_ASR_Input-0.1.0-win-x64.zip # ZIP 压缩包
├── win-unpacked/ # 未打包版本(用于测试)
│ ├── Impress ASR Input.exe
│ └── resources/
└── Impress ASR Input-0.1.0-win-x64-setup.exe # NSIS 安装程序
快速打包脚本
项目提供了自动打包脚本:
| 系统 | 脚本 | 使用方式 |
|---|---|---|
| Windows | scripts/build-win.bat |
双击运行 |
| Linux/macOS | scripts/build-win.sh |
bash scripts/build-win.sh |
常见问题
1. Electron 下载失败
# 使用国内镜像
export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
export npm_config_electron_mirror="https://npmmirror.com/mirrors/electron/"
# 或使用代理
export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"
2. winCodeSign 下载失败 / 签名错误
electron-builder 默认会尝试下载代码签名工具。
解决方案:
- 在 Windows 上构建(推荐)
- 使用手动打包方式(见方法二)
3. 缺少 Wine
# Ubuntu/Debian 安装 Wine
sudo apt-get install wine64
但 Wine 配置复杂,仍建议在 Windows 上构建。
4. 图标文件缺失
构建时会使用默认图标,如需自定义:
- 准备
icon.ico(256x256) - 放入
build/目录 - 在
package.json的build.win中添加"icon": "build/icon.ico"
运行应用
解压后双击运行:
Impress ASR Input.exe
或命令行模式:
node dist/main.js start
无模型启动
应用支持无模型启动,用于配置和测试:
npm start -- start
会显示模型下载指引和配置说明。