为 macOS 构建 Zed

存储库

克隆 Zed 存储库

依赖项

  • 安装 Rust
  • 从 macOS App Store 或 Apple Developer 网站安装 Xcode。请注意,这需要一个开发者帐户。

确保在安装后启动 XCode,并安装 macOS 组件,这是默认选项。

  • 安装 Xcode 命令行工具

    xcode-select --install
    
  • 确保 Xcode 命令行工具使用你新安装的 Xcode 副本

    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    
  • 安装 Rust wasm 工具链

    rustup target add wasm32-wasi
    

后端依赖项

如果你正在开发 Zed 的协作功能,则需要安装 zed 的 collab 服务器的依赖项

或者,如果你已安装 Docker,则可以使用 Docker Compose 启动所有 collab 依赖项

docker compose up -d

从源代码构建 Zed

安装依赖项后,可以使用 Cargo 构建 Zed。

用于调试构建

cargo run

用于发布构建

cargo run --release

运行测试

cargo test --workspace

故障排除

编译 metal 着色器时出错

error: failed to run custom build command for gpui v0.1.0 (/Users/path/to/zed)`**

xcrun: error: unable to find utility "metal", not a developer tool or in PATH

尝试 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

Cargo 错误声称依赖项正在使用不稳定的功能

尝试 cargo cleancargo build

错误:找不到“dispatch/dispatch.h”文件

如果你遇到类似于

src/platform/mac/dispatch.h:1:10: fatal error: 'dispatch/dispatch.h' file not found

Caused by:
  process didn't exit successfully

  --- stdout
  cargo:rustc-link-lib=framework=System
  cargo:rerun-if-changed=src/platform/mac/dispatch.h
  cargo:rerun-if-env-changed=TARGET
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_aarch64-apple-darwin
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_aarch64_apple_darwin
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS

此文件是 Xcode 的一部分。确保已安装 Xcode 命令行工具并设置正确的路径

xcode-select --install
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

此外,设置 BINDGEN_EXTRA_CLANG_ARGS 环境变量

export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=$(xcrun --show-sdk-path)"

然后清理并重新构建项目

cargo clean
cargo run