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

Unison仅支持macOS同步到Debian,反向同步报zsh命令未找到错误

解决Unison从Debian同步到Mac时的"command not found: unison"错误

这个问题的核心是:SSH登录Mac时的环境变量PATH没有包含brew安装的Unison路径——虽然你在Mac本地终端能正常运行Unison,但SSH会话加载的是简化版环境变量,找不到brew安装的程序路径。

解决方案1:在Unison命令中指定Mac端Unison的绝对路径

  1. 先在Mac本地终端执行which unison,得到Unison的绝对路径(M系列Mac通常是/opt/homebrew/bin/unison,Intel Mac则是/usr/local/bin/unison)。
  2. 修改Debian上的Unison同步命令,通过-server参数指定Mac端Unison的完整路径:
unison /home/debianuser/sync ssh://macuser@workingip//opt/homebrew/bin/unison -server /Documents/insync

或者用-sshcmd参数直接指定带路径的SSH执行命令:

unison /home/debianuser/sync ssh://macuser@workingip/Documents/insync -sshcmd "ssh macuser@workingip /opt/homebrew/bin/unison"

解决方案2:修复Mac SSH会话的PATH环境变量

让SSH登录Mac时自动加载包含brew路径的环境变量:

  1. 在Mac本地编辑~/.zprofile(SSH登录默认是login shell,会读取这个配置文件),添加brew路径:
    • M系列Mac:
      echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zprofile
      
    • Intel Mac:
      echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zprofile
      
  2. 从Debian重新SSH到Mac,执行echo $PATH确认brew路径已包含其中,再测试unison -version是否能正常运行。
  3. 之后再执行原本的Unison同步命令即可。

额外注意点

确保Debian和Mac上的Unison主版本号一致(比如都是2.53.x),不同主版本的Unison可能出现兼容性问题,即使命令能找到也可能同步失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:59:58