You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Parrot OS编译Zed Code Editor时live_kit_server编译错误求助

解决Parrot OS编译Zed Code Editor时live_kit_server构建失败问题

问题描述

执行cargo run编译Zed时,live_kit_server v0.1.0的自定义构建命令失败,核心报错:

protoc failed: Could not make proto path relative: protocol/livekit_room.proto: No such file or directory

已尝试重新安装live_kit_server crate、切换Zed最新版本,问题仍未解决。完整报错日志:

cargo run
   Compiling git2 v0.15.0
   Compiling reqwest v0.11.20
   Compiling live_kit_server v0.1.0 (/home/lilo/Program_Files/zed-0.124.7/crates/live_kit_server)
   Compiling live_kit_client v0.1.0 (/home/lilo/Program_Files/zed-0.124.7/crates/live_kit_client)
   Compiling procinfo v0.1.0 (https://github.com/zed-industries/wezterm?rev=0c13436f4fa8b126f46dd4a20106419b41666897#0c13436f)
   Compiling hound v3.5.0
   Compiling block v0.1.6
   Compiling ignore v0.4.20
error: failed to run custom build command for `live_kit_server v0.1.0 (/home/lilo/Program_Files/zed-0.124.7/crates/live_kit_server)`

Caused by:
  process didn't exit successfully: `/home/lilo/Program_Files/zed-0.124.7/target/debug/build/live_kit_server-063323342ee20cc4/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at crates/live_kit_server/build.rs:4:10:
  called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "protoc failed: Could not make proto path relative: protocol/livekit_room.proto: No such file or directory\n" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

解决方案

1. 拉取完整Git子模块

Zed依赖的LiveKit proto文件通常存储在Git子模块中,未拉取会导致文件缺失:

git submodule update --init --recursive

2. 安装并验证protoc工具

Parrot OS上安装官方protobuf编译器:

sudo apt update && sudo apt install protobuf-compiler

验证安装成功(要求版本3.0以上):

protoc --version

3. 修正build.rs中的proto文件路径

进入live_kit_server目录查看构建脚本:

cd /home/lilo/Program_Files/zed-0.124.7/crates/live_kit_server
cat build.rs

如果脚本中引用的protocol/livekit_room.proto路径是相对当前目录的,而实际文件在仓库根目录的protocol文件夹下,需要调整路径层级,示例修改:

// 原代码
protoc_rust::Codegen::new()
    .out_dir("src")
    .input("protocol/livekit_room.proto")
    .run()
    .unwrap();

// 修改后(根据实际文件位置调整../../的层级)
protoc_rust::Codegen::new()
    .out_dir("src")
    .input("../../protocol/livekit_room.proto")
    .run()
    .unwrap();

4. 清理缓存后重新编译

cargo clean
cargo run

内容的提问来源于stack exchange,提问作者ali housseini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:01:31