Ubuntu 22.04 安装 Meetily 0.4.1 指南
在 Ubuntu 22.04 上从源码构建安装 Meetily 0.4.1 桌面应用的完整实测指南:系统依赖与 Tauri 工具链(Node 20/pnpm 9.15.9/Rust)、build-gpu.sh 自动 GPU 探测构建、llama-helper 与 ffmpeg sidecar 排障实录、产物验证与卸载清理
Ubuntu 22.04 安装 Meetily 0.4.1 指南
目标:在 Ubuntu 22.04 服务器/工作站上从官方源码完成 Meetily v0.4.1(Tauri 桌面应用)的 0→1 构建安装,产出可安装的 deb 包与 AppImage 便携包。本文全部命令与回显均在 Ubuntu 22.04 (x86_64) 实测通过,包含两个关键排障实录(llama-helper sidecar 缺失、ffmpeg sidecar 缺失),读者按序执行即可复现。
一、环境信息
- 操作系统:Ubuntu 22.04 LTS(x86_64)
- 内核:Linux 5.15+(实测 5.15)
- Meetily 版本:v0.4.1(2026-10-23 实查 GitHub Releases 最新稳定版,仓库标签
v0.4.1,提交a2cb62e Release v0.4.1) - 官方仓库:https://github.com/Zackriya-Solutions/meetily (早期名称 meeting-minutes,GitHub 自动重定向;官方 README 的克隆命令仍用旧名,两者等价)
- 构建工具链实测版本:gcc 11.4.0 / cmake 3.22.1 / git 2.34.1 / Node.js v20.20.2 / pnpm 9.15.9 / rustc 1.99.1(rustup stable,官方要求 Rust ≥ 1.77)
- Tauri 系统库实测版本:webkit2gtk-4.1 2.50.4 / gtk+-3.0 3.24.33 / libayatana-appindicator3 0.5.90
- 产物路径:
/root/work/meetily/target/release/bundle/下appimage/meetily_0.4.1_amd64.AppImage与deb/meetily_0.4.1_amd64.deb(Rust 工作区共享顶层 target 目录,产物落顶层而非frontend/src-tauri/target/) - 构建形态:CPU-only 模式(无 GPU 的干净环境);CUDA/Vulkan/ROCm 加速路线见第五章
二、前置条件
- 一台 Ubuntu 22.04 机器(物理机或虚拟机均可),具有 sudo 权限的账号;构建产物是桌面 GUI 应用,运行需要图形环境(X11/Wayland 桌面),纯构建在无桌面机器上也能完成。
- 磁盘空间 ≥ 10 GB(前端 node_modules 约 830 MB,Rust 编译缓存 target 约 2–4 GB,中间产物较多)。
- 内存建议 ≥ 4 GB;Rust 编译并行度高,内存吃紧时可降低并行度(见第九章 FAQ)。
- 可访问 GitHub 与 nodejs.org 的网络;下载缓慢时可为单条命令挂代理(如
wget -x http://192.168.1.62:7897 <URL>,按实际代理地址替换)。
三、版本选型说明
Meetily 官方只对 macOS 与 Windows 发布预编译安装包,Linux 官方明确走源码构建(README:「Linux: Build from source」)。因此 Ubuntu 上的安装选型实质是「构建配置选型」:
| 构建配置 | 适用硬件 | 说明 |
|---|---|---|
| CPU-only(默认自动) | 无 GPU / 未装 GPU SDK | 纯 CPU 转写,配置最简单,本篇主线 |
| OpenBLAS | 任意 x86_64,装 libopenblas-dev | CPU 上 BLAS 加速,需设置 BLAS_INCLUDE_DIRS |
| Vulkan | NVIDIA/AMD/Intel 均可 | 装 Vulkan SDK + libopenblas-dev |
| CUDA | NVIDIA(算力 5.0+) | 装 nvidia 驱动 + CUDA 工具链 |
| ROCm (HIPBlas) | AMD RX 5000+ | 装 rocm-smi/hipcc |
关键结论:只装驱动不够,必须装对应开发 SDK(CUDA toolkit / ROCm / Vulkan SDK),构建脚本的自动探测才会启用加速(官方 BUILDING.md 明确说明,详见第五章探测优先级表)。没有 GPU 或不想折腾时,直接用主线 CPU-only 构建即可,功能完整、仅转写速度慢一些。
版本约定:源码版本固定在 v0.4.1 标签(当前最新稳定版);pnpm 固定 9.15.9(官方 BUILDING.md 指定版本,lockfile 与该版本对齐);Node.js 用 20.x LTS。
四、安装方案 A:官方源码构建(GPU 自动探测,主线)
4.1 方案说明
官方推荐路径:装系统依赖 → 装 Node 20 + pnpm 9.15.9 → 装 Rust → 克隆仓库 → pnpm install --frozen-lockfile → ./build-gpu.sh。build-gpu.sh 会自动探测 GPU 并配置转写引擎加速特性,编译 llama-helper sidecar 并复制到位,最后调用 Tauri 打包出 deb 与 AppImage。全程一条脚本完成,无 GPU 时自动落回 CPU 模式。
4.2 安装系统依赖
先更新软件源并安装编译基础工具(gcc/make/cmake/git)与 Tauri 官方要求的 Linux 系统库(WebKitGTK 等,Tauri 2.x 在 Linux 上渲染与托盘必需):
sudo apt update
sudo apt install -y build-essential cmake git curl wget file
实测回显(依赖已就位时的状态,首次安装会列出各包的下载与解包过程,效果一致):
git is already the newest version (1:2.34.1-1ubuntu1.18).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
安装 Tauri 官方要求的 Linux 开发库(官方 Tauri 预备清单 + Meetily 构建实际需要的组件):
sudo apt install -y libwebkit2gtk-4.1-dev libssl-dev libxdo-dev \
libayatana-appindicator3-dev librsvg2-dev ffmpeg
验证系统库就位(pkg-config 能查到版本即代表开发库可用):
pkg-config --modversion webkit2gtk-4.1 gtk+-3.0
实测回显:
2.50.4
3.24.33
⚠️ 注意:
ffmpeg一并装上——它是 Meetily 打包声明的第二个 sidecar(音频解码导入),后面 4.8 步会把它复制进打包目录;提前装好可避免构建到打包阶段才报错(实测踩坑,见 4.8 与第九章 FAQ Q2)。
4.3 安装 Node.js 20
用 nodejs.org 官方二进制包安装 Node 20 LTS(解压即用,不污染 apt 源):
curl -fsSLO https://nodejs.org/dist/v20.20.2/node-v20.20.2-linux-x64.tar.xz
sudo tar -xf node-v20.20.2-linux-x64.tar.xz -C /usr/local --strip-components=1
rm node-v20.20.2-linux-x64.tar.xz
验证:
node -v && npm -v
实测回显:
v20.20.2
10.8.2
💡 说明:NodeSource apt 源、nvm 等方式同样可用,关键是保证 Node 20 大版本(官方构建在 Next.js 14 + Tauri 2 组合下验证)。本文选二进制包方式,便于多版本切换与离线安装。
4.4 安装 pnpm 9.15.9
官方 BUILDING.md 指定 pnpm 9.15.9(与仓库 pnpm-lock.yaml 对齐),用 npm 全局安装:
sudo npm install -g pnpm@9.15.9
实测回显(节选):
1 package is looking for funding
run `npm fund` for details
pnpm -v
实测回显:
9.15.9
4.5 安装 Rust 工具链
用官方 rustup 脚本安装(官方要求 Rust ≥ 1.77;rustup 默认装最新 stable):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
实测验证:
rustc --version && cargo --version
rustup show active-toolchain
实测回显:
rustc 1.99.1 (58cf8f9c3 2026-10-13)
cargo 1.99.1 (5f94df478 2026-08-27)
stable-x86_64-unknown-linux-gnu (default)
4.6 获取源码
克隆官方仓库并固定到 v0.4.1 标签:
git clone https://github.com/Zackriya-Solutions/meetily
cd meetily
git checkout v0.4.1
实测回显(克隆阶段;checkout 无独立输出):
Cloning into 'meetily'...
remote: Enumerating objects: 9157, done: 100% (详见实际网络情况)
Receiving objects: 100% (9157/9157), 61.00 MiB | 12.50 MiB/s, done.
💡 说明:官方 README 中的克隆地址为旧仓库名
https://github.com/Zackriya-Solutions/meeting-minutes,GitHub 对更名仓库永久重定向,两个 URL 实测等价。克隆深度可加--depth 1省流量,但保留完整历史便于git checkout v0.4.1切版本(浅克隆需git fetch --depth 1 origin tag v0.4.1)。
4.7 安装前端依赖
进入 frontend/ 目录,按 lockfile 严格模式安装(官方强调 frozen 安装保证依赖与锁定版本一致):
cd frontend
pnpm install --frozen-lockfile
实测回显(首次安装,输出节选——末行为包清单摘要与总耗时):
Lockfile is up to date, resolution step is skipped
+ react-test-renderer 18.3.1
+ tailwindcss 3.4.19
+ typescript 5.9.3
+ wait-on 7.2.0
Done in 13.4s using pnpm v9.15.9
已在缓存环境下重复执行时实测回显:
Lockfile is up to date, resolution step is skipped
Already up to date
Done in 712ms using pnpm v9.15.9
验证依赖目录就位:
du -sh node_modules
实测回显:
824M node_modules
4.8 执行构建
在 frontend/ 目录运行官方构建脚本:
./build-gpu.sh
实测回显(开头,CPU 环境下的自动探测结果):
🚀 Meetily GPU-Accelerated Build Script
📦 Building Meetily...
🔍 Detecting GPU features...
💻 No GPU acceleration available - using CPU-only mode
⚠️ No specific GPU feature detected or forced
🦙 Building llama-helper sidecar (release)...
Building in /root/work/meetily/frontend/../llama-helper with features: none
脚本按顺序完成四件事,每步在输出中可核对:
- GPU 探测:调用
scripts/auto-detect-gpu.js,无 GPU SDK 时打印「No GPU acceleration available - using CPU-only mode」; - 编译 llama-helper sidecar(
cargo build --release,摘要引擎的 llama.cpp 封装;首次编译约数分钟); - 复制 sidecar:产物从
target/release/llama-helper复制为src-tauri/binaries/llama-helper-x86_64-unknown-linux-gnu(Tauri 打包要求的外部二进制命名规则); - Tauri 完整构建:先跑 Next.js 生产构建,再编译 Rust 核心,最后打包 deb 与 AppImage。
实测回显(构建收尾,Rust 编译与打包阶段;AppImage 打包前的 linuxdeploy 组件下载行从略):
warning: `meetily` (lib) generated 9 warnings (run `cargo fix --lib -p meetily` to apply 5 suggestions)
Finished `release` profile [optimized] target(s) in 1m 13s
Built application at: /root/work/meetily/target/release/meetily
Info Patching /root/work/meetily/target/release/meetily with bundle type information: deb
Bundling meetily_0.4.1_amd64.deb (/root/work/meetily/target/release/bundle/deb/meetily_0.4.1_amd64.deb)
Info Patching /root/work/meetily/target/release/meetily with bundle type information: appimage
Bundling meetily_0.4.1_amd64.AppImage (/root/work/meetily/target/release/bundle/appimage/meetily_0.4.1_amd64.AppImage)
Finished 2 bundles at:
/root/work/meetily/target/release/bundle/deb/meetily_0.4.1_amd64.deb
/root/work/meetily/target/release/bundle/appimage/meetily_0.4.1_amd64.AppImage
💡 说明:
Finished ... in 1m 13s是依赖缓存命中后的增量时长;首次构建需完整编译全部 Rust 依赖,耗时以数十分钟计。Rust 工作区(顶层Cargo.toml)与frontend/src-tauri共享顶层target/目录,因此 deb/AppImage 产物出现在/root/work/meetily/target/release/bundle/而不是frontend/src-tauri/target/。
⚠️ 排障实录四(ort-sys 依赖下载超时):Rust 编译阶段报
error: failed to run custom build command for ort-sys v2.0.0-rc.10,错误详情为Failed to download from https://cdn.pyke.io/0/pyke:ort-rs/ms@1.22.0/x86_64-unknown-linux-gnu.tgz: timeout: global(实测两次构建均复现)。原因:ort-sys的构建脚本要从 pyke.io CDN 下载 onnxruntime 预编译包(Parakeet ONNX 转写引擎的推理运行时),跨境链路直连超时。解决(实测有效):在构建会话内导出代理环境变量后重跑:
export http_proxy=http://192.168.1.62:7897 https_proxy=http://192.168.1.62:7897
./build-gpu.sh
重跑时已编译依赖全部命中缓存,Rust 主程序 1m 13s 完成;onnxruntime 包下载成功后存入构建缓存,后续构建不再访问该 CDN。
⚠️ 注意(updater 签名报错不影响主产物):两个 bundle 打完后,构建脚本可能以如下错误收尾(实测):
A public key has been found, but no private key. Make sure to set `TAURI_SIGNING_PRIVATE_KEY` environment variable. Error A public key has been found, but no private key. Make sure to set `TAURI_SIGNING_PRIVATE_KEY` environment variable. ELIFECYCLE Command failed with exit code 1.这是
tauri.conf.json开启了bundle.createUpdaterArtifacts: true且配置了 updater 公钥,Tauri 在为「应用内自更新」生成增量签名包时要求私钥。deb 与 AppImage 主产物此时已经产出并可用,仅更新器增量包(*.sig签名文件)缺失。处理:自建分发场景忽略该错误即可;若要补全更新器产物,用pnpm tauri signer generate -w ~/.tauri/meetily.key生成密钥对,再export TAURI_SIGNING_PRIVATE_KEY=~/.tauri/meetily.key与TAURI_SIGNING_PRIVATE_KEY_PASSWORD后重跑打包。注意自生成密钥与源码内置公钥不匹配,应用内更新校验会拒绝自签名包——自建分发应将tauri.conf.json中plugins.updater.pubkey一并替换为自己密钥对的公钥。
⚠️ 排障实录一(llama-helper sidecar 缺失):如果跳过
build-gpu.sh直接执行pnpm run tauri:build,Rust 编译会在 tauri-build 检查外部二进制时直接失败,实测报错:error: failed to run custom build command for `app v0.4.1 (/root/work/meetily/frontend/src-tauri)` resource path `binaries/llama-helper-x86_64-unknown-linux-gnu` doesn't exist warning: build failed, waiting for other jobs to finish...原因:
tauri.conf.json的bundle.externalBin声明了binaries/llama-helper,Tauri 要求打包前该文件必须以「名称-目标三元组」格式存在。解决:始终走./build-gpu.sh(自动编译并复制);或手动补齐——cargo build --release -p llama-helper后mkdir -p src-tauri/binaries && cp target/release/llama-helper src-tauri/binaries/llama-helper-x86_64-unknown-linux-gnu。
⚠️ 排障实录二(ffmpeg sidecar 缺失):
externalBin同时声明了binaries/ffmpeg,若src-tauri/binaries/下没有 ffmpeg(克隆的仓库不含二进制文件),构建在 sidecar 检查阶段同样失败。解决(实测有效):sudo apt install -y ffmpeg cp $(which ffmpeg) src-tauri/binaries/ffmpeg-x86_64-unknown-linux-gnu验证复制结果:
ls -la src-tauri/binaries/应看到ffmpeg-x86_64-unknown-linux-gnu(实测 301544 字节,ffmpeg 4.4.2)。AppImage 打包时 linuxdeploy 会把动态链接的音视频库一并收集进包内。
⚠️ 排障实录三(并发构建的文件锁):Rust 构建目录有进程锁,同一仓库上同时跑两个构建会看到
Blocking waiting for file lock on build directory——这是正常等待,等前一个构建退出后自动继续;不要手动删除target/目录去"解锁"。
4.9 构建产物与验证
列出并验证产物:
ls -lh /root/work/meetily/target/release/bundle/appimage/ /root/work/meetily/target/release/bundle/deb/
file /root/work/meetily/target/release/bundle/appimage/meetily_0.4.1_amd64.AppImage
实测回显:
/root/work/meetily/target/release/bundle/appimage/:
total 151M
-rwxr-xr-x 1 root root 151M Oct 23 06:42 meetily_0.4.1_amd64.AppImage
drwxr-xr-x 4 root root 4.0K Oct 23 06:42 meetily.AppDir
/root/work/meetily/target/release/bundle/deb/:
total 29M
-rw-r--r-- 1 root root 29M Oct 23 06:42 meetily_0.4.1_amd64.deb
drwxr-xr-x 4 root root 4.0K Oct 23 06:42 meetily_0.4.1_amd64
meetily_0.4.1_amd64.AppImage: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, BuildID[sha1]=ef655b05ac26feebfd3bc24ec7ccb30389cefc33, stripped
两种安装方式:
# 方式一:AppImage 直接运行(无需安装,赋予执行权限即可)
chmod +x /root/work/meetily/target/release/bundle/appimage/meetily_0.4.1_amd64.AppImage
/root/work/meetily/target/release/bundle/appimage/meetily_0.4.1_amd64.AppImage
# 方式二:deb 安装进系统(sudo dpkg -i,可被桌面菜单检索)
sudo dpkg -i /root/work/meetily/target/release/bundle/deb/meetily_0.4.1_amd64.deb
运行验证:桌面环境中启动后出现标题为「meetily」的窗口(1100×700);首次启动在应用设置页选择转写模型(Whisper/Parakeet,应用内下载)并配置 LLM 端点即可开始使用,配置项详解见《Meetily 0.4.1 配置参数详解》。
五、安装方案 B:指定加速后端的手动构建
5.1 GPU 自动探测优先级
build-gpu.sh 的探测顺序(官方 BUILDING.md 实录):
| 优先级 | 硬件 | 探测条件 | 构建特性 |
|---|---|---|---|
| 1 | NVIDIA CUDA | nvidia-smi 存在且(CUDA_PATH 或 nvcc 可用) | --features cuda |
| 2 | AMD ROCm | rocm-smi 存在且(ROCM_PATH 或 hipcc 可用) | --features hipblas |
| 3 | Vulkan | vulkaninfo 存在且 VULKAN_SDK 与 BLAS_INCLUDE_DIRS 均设置 | --features vulkan |
| 4 | OpenBLAS | BLAS_INCLUDE_DIRS 已设置 | --features openblas |
| 5 | CPU-only | 以上均不满足 | 无特性(纯 CPU) |
5.2 CUDA 路线(NVIDIA,算力 5.0+)
sudo apt install -y nvidia-driver-550 nvidia-cuda-toolkit
nvidia-smi # 确认驱动与 GPU 可见
nvcc --version # 确认 CUDA 编译器就位
按 GPU 算力设置架构变量后构建(RTX 30 系=86,RTX 40 系=89,查询命令 nvidia-smi --query-gpu=compute_cap --format=csv):
CMAKE_CUDA_ARCHITECTURES=86 \
CMAKE_CUDA_STANDARD=17 \
CMAKE_POSITION_INDEPENDENT_CODE=ON \
./build-gpu.sh
5.3 Vulkan 路线(跨厂商回退)
sudo apt install -y vulkan-sdk libopenblas-dev
export VULKAN_SDK=/usr
export BLAS_INCLUDE_DIRS=/usr/include/x86_64-linux-gnu
./build-gpu.sh
5.4 强制指定特性与验证
不依赖自动探测时,用 TAURI_GPU_FEATURE 环境变量强制(可选值 cuda / hipblas / vulkan / openblas / 空字符串=CPU):
TAURI_GPU_FEATURE=vulkan ./build-gpu.sh # 强制 Vulkan
TAURI_GPU_FEATURE="" ./build-gpu.sh # 强制纯 CPU
构建回显中「Detected GPU feature」一行即为生效特性,例:
✅ Detected GPU feature: vulkan
无对应 SDK 却强制指定会以编译错误收场(缺头文件/链接失败),回退 CPU 模式重新执行即可恢复。
六、方案对比与选择建议
| 维度 | 方案 A:build-gpu.sh 自动构建 | 方案 B:强制加速构建 |
|---|---|---|
| 适用硬件 | 任意(自动回退 CPU) | 需对应 GPU 与开发 SDK |
| 前置安装量 | 仅基础工具链 | 额外 CUDA/ROCm/Vulkan SDK |
| 转写速度 | CPU 实时率约 1x,够用但长会议偏慢 | GPU 加速,长会议实时性更好 |
| 失败面 | 低(无硬件依赖) | 中(SDK 版本/架构变量敏感) |
| 推荐人群 | 首次安装、无 GPU、快速验证 | 已有 GPU 且追求转写延迟 |
选择建议:先用方案 A 跑通完整闭环,确认业务流程满足需求后,再评估是否投入 GPU SDK 配置升级到方案 B;两条路线的构建脚本相同,仅环境变量不同,切换成本很低。
七、安装后配置说明
- 首次启动:AppImage 直接运行或 deb 安装后从桌面菜单启动。数据全部落在本机用户应用数据目录(SQLite 数据库、录音与转写文本、模型缓存均在该目录下),无任何云端上传路径。
- 转写模型:在应用设置页选择 Whisper(多语言通用)或 Parakeet(低延迟英文向)模型,应用内点击下载,模型文件落本地数据目录;换模型/换语言可通过 Import & Enhance 对已录会议重转。
- LLM 端点:推荐本地 Ollama(默认端点
http://localhost:11434);也可配置 Claude/Groq/OpenRouter 或任意 OpenAI 兼容端点。配置项含义与取值详见《Meetily 0.4.1 配置参数详解》。 - 音频设备:设置页可分别选择麦克风与系统输出设备作为采集源,内置 ducking 自动压低回放音量,避免转写串音。
- 开机自启(可选):桌面环境的「启动应用程序」中加入 AppImage 路径即可;Meetily 本体无系统服务形态,无需 systemd 单元。
八、升级与多版本管理
- 升级到新版本:
git fetch --tags && git checkout vX.Y.Z后重跑pnpm install --frozen-lockfile && ./build-gpu.sh——Rust 编译缓存(target/)会复用未变更的依赖,增量构建明显快于首次。 - 应用内自更新:桌面端内置 Tauri updater,对接 GitHub Releases 的 latest.json 清单,源码构建的 deb/AppImage 同样可收到更新提示(更新包从 GitHub Releases 下载)。
- 多版本共存:用 git 标签切换构建目录即可,产物文件名自带版本号(
meetily_0.4.1_amd64.AppImage),不同版本产物可并存;deb 安装的新版本会覆盖旧版本(同包名)。 - 回退:
git checkout v0.3.0(示例)重走 4.7–4.9;已装 deb 回退用sudo dpkg -i安装旧版本包。
九、常见问题(FAQ)
Q1:直接 pnpm run tauri:build 报 resource path binaries/llama-helper-... doesn't exist?
见 4.8 排障实录一。Tauri 打包要求 sidecar 二进制预先放在 src-tauri/binaries/ 并带目标三元组后缀;build-gpu.sh 的职责之一就是编译并复制它,所以请始终通过 ./build-gpu.sh 构建,或手动补齐两个 sidecar(llama-helper + ffmpeg)。
Q2:打包阶段报 binaries/ffmpeg 相关缺失?
见 4.8 排障实录二。执行 sudo apt install -y ffmpeg && cp $(which ffmpeg) src-tauri/binaries/ffmpeg-x86_64-unknown-linux-gnu 后重新构建。ffmpeg 是 Meetily 音频导入/解码的外部二进制,仓库不含它,需系统提供。
Q3:构建长时间停在 Blocking waiting for file lock on build directory?
有另一个 cargo 构建进程在用同一 target/ 目录(可能是不久前失败/中断的构建)。等待其退出即可;确认无构建需求后也可用 pkill -f "cargo build" 结束遗留进程再重跑(会释放锁,已编译产物仍在缓存中,不会丢失进度)。
Q4:Rust 编译阶段内存耗尽(编译器被 OOM 杀掉,报 signal: 9, SIGKILL)?
codegen-units=1 + lto=true(llama-helper 的 release 配置)与 tauri 大依赖树对内存要求较高。降低并行度重试:CARGO_BUILD_JOBS=2 ./build-gpu.sh;或临时增加 swap(sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile)。
Q5:Next.js 构建阶段慢或卡住?
tauri:build 内嵌 pnpm build(next build,实测 Next.js 14.2.35,产物为静态导出 out/ 目录)。该阶段只依赖 Node,与网络无关,通常 1–2 分钟;卡住多为主机内存/IO 紧张,观察进程确认仍在推进即可。
Q6:GPU 驱动装了,为什么构建还是 CPU-only?
自动探测要求「驱动 + 开发 SDK」齐备(nvcc/hipcc/vulkaninfo 可执行且环境变量就位),只有驱动不会启用加速(官方 BUILDING.md 明确的 Key Insight)。按第五章对应路线补装 SDK,或用 TAURI_GPU_FEATURE 强制并核对 5.4 的回显行。
Q7:AppImage 双击/运行报缺库(libwebkit2gtk 等)?
AppImage 内已收集大部分链接库,但显示服务相关库依赖桌面环境。在 Ubuntu 22.04 桌面版上直接可运行;无桌面的服务器上构建出的包,拷贝到桌面机器运行即可。deb 安装会自动拉齐依赖(sudo apt -f install 补齐缺失项)。
十、卸载与清理
# 卸载 deb 安装的包
sudo dpkg -r meetily
# 删除源码与构建缓存(含 target 编译产物,2–4 GB)
cd ~/meetily/frontend
rm -rf node_modules src-tauri/target ../../target
cd ../.. && rm -rf meetily
# 清理全局工具(按需):pnpm 与 Rust 工具链
sudo npm uninstall -g pnpm
rustup self uninstall
用户数据(会议记录、模型缓存)在应用数据目录中,卸载软件包不会删除;如需彻底清理,删除对应应用数据目录即可。
十一、参考链接
- 官方构建文档:仓库内
docs/BUILDING.md(各平台源码构建)与docs/building_in_linux.md(Linux/GPU 探测详解) - 官方 Tauri 预备依赖:Tauri 2 文档 Prerequisites(Linux 系统库清单)
- 版本发布页:https://github.com/Zackriya-Solutions/meetily/releases(v0.4.1,2026-10-23 实查)
- 本专栏系列:《Meetily 介绍与选型指南》、《Meetily 0.4.1 配置参数详解》、《Meetily 0.4.1 常用 CLI 命令与工具详解》