io.c(226) [sender=3.1.3] Mac OS 上的 rsync 错误(代码 12)

rsync error (code 12) at io.c(226) [sender=3.1.3] on Mac OS

我正在尝试进行 rsync 网络复制。我正在使用自制软件的最新版本的 rsync。源终端和目标终端均显示:

$ which rsync
/usr/local/bin/rsync
$ rsync --version
rsync  version 3.1.3  protocol version 31

我可以成功地 scp 从 src 到目标的文件:

scp /Users/me/file.txt me@host.local:/Users/me/

但是,如果我尝试使用 rsync 进行同样的操作:

rsync -avihX --progress --stats /Users/me/file.txt me@host.local:/Users/me/

我收到以下错误:

rsync: on remote machine: -vlogDtpXre.iLsfxC: unknown option
rsync error: syntax or usage error (code 1) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(1337) [server=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.3]

我在这里看到了其他 post,大多数人说它要么是错误的文件路径,要么是目标终端上的 rsync 版本不匹配,我已经排除了这两种情况。

消息的“[server=2.6.9]”部分暗示您版本不匹配。我不确定它是如何将 rsync 命令发送到远程端的,但它并不总是使用与您交互获得的相同 PATH (以及因此版本)。尝试添加 --rsync-path=/usr/local/bin/rsync(或远程计算机上 rsync v3.1.3 的任何适当路径)以强制它使用正确的版本。