与配置文件一起使用时,Unison 失败并显示“找不到规范名称”

问题描述 投票:0回答:1

我使用 Unison 在 MacOS 和通过 USB 连接的外部 SSD 驱动器之间同步文件夹。外部驱动器具有 ExFAT 文件系统。

如果我通过指定两个根来执行 Unison,那么它就可以正常工作。

unison /Users/user.name/Nextcloud /Volumes/ssd_sync/macbook/nextcloud -fat=true

但是当我使用配置文件执行 Unison 时,它会失败并出现错误

❯ unison nextcloud
Unison 2.53.7 (ocaml 5.2.0): Contacting server...

Error: Cannot find canonical name of "/Volumes/ssd_sync/macbook/nextcloud": unable to cd either to it ("/Volumes/ssd_sync/macbook/nextcloud": No such file or directory)
or to its parent "/Volumes/ssd_sync/macbook
("/Volumes/ssd_sync/macbook: No such file or directory)

我的个人资料包含完全相同的根文件夹,看起来像这样

❯ cat /Users/user.name/Library/Application\ Support/Unison/nextcloud.prf
root = "/Users/user.name/Nextcloud"
root = "/Volumes/ssd_sync/macbook/nextcloud"
fat = true

我可以

cd
到“/Volumes/ssd_sync/macbook/nextcloud”。我注意到错误消息仅在左引号
("/Volumes/ssd_sync/macbook: No such file or directory)
上。能有关系吗?如果是的话,这可能是什么原因?

我的主要问题是如何使用配置文件让 Unison 为我的案例工作?

更新1

我也尝试过不同的

ocaml
版本,但没有成功。

unison version 2.53.7 (ocaml 4.14.2)

macos unison
1个回答
0
投票

问题在于引号,它们不是有效的路径。在命令行中它可以工作,因为参数的解释与从文件中读取它们有点不同。将配置更改为:

root = /Users/user.name/Nextcloud
root = /Volumes/ssd_sync/macbook/nextcloud
fat = true
© www.soinside.com 2019 - 2024. All rights reserved.