Zed SSH 远程路径规范化修复 | AI生成和翻译

Home 2026.05

问题

Zed SSH 远程打开 ssh://lzw@192.168.1.36/mnt/data/deepseek-v4-inference/ 后显示空项目——目录实际存在且包含 8 个文件(model.py、kernel.py、generate.py 等),但编辑器中什么也没有显示。

根本原因

~/Library/Logs/Zed/Zed.log 中发现两个问题:

  1. 路径规范化失败(主要原因):

    ERROR [worktree] failed to canonicalize root path "/mnt/data/deepseek-v4-inference":
    canonicalizing "/mnt/data/deepseek-v4-inference": No such file or directory (os error 2)
    

    Zed 远程服务器进程可以看到该路径(它尝试了文件监视),但在执行 std::fs::canonicalize() 时失败。可能是远程服务器二进制文件过时,缓存了错误的状态。

  2. inotify 监视限制耗尽(次要原因):

    ERROR [crates/worktree/src/worktree.rs:5018] (remote server) OS file watch limit reached.
    

    远程主机的 max_user_watches=65536(默认值)——对 Zed 的文件监视器来说太低。

已应用修复

修复项 命令 效果
提升 inotify 限制 echo 'fs.inotify.max_user_watches=524288' \| sudo tee -a /etc/sysctl.conf && sudo sysctl -p 65536 → 524288
删除过期服务器 rm -rf ~/.zed_server/ 强制 Zed 重新上传新二进制文件(约 100MB)

关键要点

备注

已保存至 notes/2026-05-25-zed-remote-ssh-canonicalization-bug-fixes-en.md(之前的诊断中已存在)。


Back Donate