Development

构建指南

本地开发和构建发布

构建指南

本指南介绍如何在本地开发和构建 ProxyCast。

本地开发

环境准备

  1. 安装 Node.js
# 使用 nvm 安装
nvm install 18
nvm use 18
  1. 安装 pnpm
npm install -g pnpm
  1. 安装 Rust
# macOS/Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Windows
# 下载并运行 rustup-init.exe
  1. 安装 Tauri 依赖

macOS:

xcode-select --install

Windows:

  • 安装 Visual Studio Build Tools
  • 安装 WebView2

Linux:

sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev

启动开发

# 安装依赖
pnpm install

# 启动开发模式
pnpm tauri dev

开发模式特性:

  • 前端热重载
  • Rust 代码变更自动重新编译
  • 开发者工具可用

开发配置

前端配置

vite.config.ts:

export default defineConfig({
  plugins: [react()],
  server: {
    port: 1420,
    strictPort: true,
  },
});

Tauri 配置

src-tauri/tauri.conf.json:

{
  "build": {
    "devPath": "http://localhost:1420",
    "distDir": "../dist"
  }
}

构建发布

构建命令

# 构建当前平台
pnpm tauri build

# 构建 debug 版本
pnpm tauri build --debug

构建产物

平台产物位置
macOSsrc-tauri/target/release/bundle/dmg/
Windowssrc-tauri/target/release/bundle/msi/
Linuxsrc-tauri/target/release/bundle/deb/

跨平台构建

macOS 构建

# 构建 Apple Silicon
pnpm tauri build --target aarch64-apple-darwin

# 构建 Intel
pnpm tauri build --target x86_64-apple-darwin

# 构建 Universal
pnpm tauri build --target universal-apple-darwin

Windows 构建

# 构建 64 位
pnpm tauri build --target x86_64-pc-windows-msvc

Linux 构建

# 构建 deb 包
pnpm tauri build --target x86_64-unknown-linux-gnu

版本管理

更新版本号

  1. 更新 package.json:
{
  "version": "1.0.1"
}
  1. 更新 src-tauri/Cargo.toml:
[package]
version = "1.0.1"
  1. 更新 src-tauri/tauri.conf.json:
{
  "version": "1.0.1"
}

创建发布

# 创建 tag
git tag v1.0.1
git push origin v1.0.1

CI/CD

GitHub Actions

项目使用 GitHub Actions 自动构建:

  • Push 到 main 分支触发构建
  • 创建 tag 触发发布

构建矩阵

平台架构Runner
macOSarm64macos-latest
macOSx64macos-13
Windowsx64windows-latest
Linuxx64ubuntu-latest

调试

前端调试

开发模式下按 F12 打开开发者工具。

后端调试

# 启用 Rust 日志
RUST_LOG=debug pnpm tauri dev

日志位置

平台路径
macOS~/Library/Logs/ProxyCast/
Windows%APPDATA%\ProxyCast\logs\
Linux~/.local/share/proxycast/logs/

常见问题

构建失败

  1. 确保所有依赖已安装
  2. 清理构建缓存:
# 清理前端
rm -rf node_modules dist
pnpm install

# 清理 Rust
cd src-tauri
cargo clean

签名问题

macOS 构建需要代码签名:

# 设置签名身份
export APPLE_SIGNING_IDENTITY="Developer ID Application: ..."

Windows 构建可选签名:

# 设置签名证书
export TAURI_SIGNING_PRIVATE_KEY="..."