13

我最近更新到 MacOS Catalina 并开始了一些开发。问题是当我在终端上“流浪”时,NFS 共享文件夹无法挂载,我被迫使用 rsync。但是,rsync 不允许我无缝地使用 git 来完成我的工作。我发现发生这种情况的原因是因为新的 MacOS 创建了多个卷,所以 vagrant 对 Documents 中文件的根目录可能在哪里感到困惑: MacOS 磁盘映像

有没有办法在 /etc/exports 文件中将根设置为不同的东西,而不用替换每个 vagrant 上的导出文件?遗憾的是,在这个新的 MacOS 中,根不再只是“/...”,而是“System/Volumes/Data/...”,但“/”上有所有内容的副本,因此 vagrant 对使用哪个感到困惑根。

尝试流浪时,我反复收到此错误消息: 终端图像

4

3 回答 3

18

我在修修补补后想出了解决方案。对我来说,我必须更新所有内容,包括 vagrant (v2.2.6) 和 virtual box。

然后,在 MacOS Catalina 中,导航到 System Preferences → Security & Privacy → Privacy → Full Disk Access,然后按“+”,然后按 Command-Shift-G 并输入/sbin目录并找到nfsd文件并将其添加到 Full Disk Access。

然后 sudo nano 到你/etc/exports并删除文件中的所有内容,并且 vagrant up 应该可以完美地工作!

于 2019-10-24T18:54:50.327 回答
3

对我来说,这是解决方案: https ://github.com/hashicorp/vagrant/issues/10961#issuecomment-526132132

“解决方法是将 /System/Volumes/Data/... 添加到 VagrantFile 和 /etc/exports 中的路径”

于 2019-09-30T14:23:19.757 回答
2

对我来说,github问题(https://github.com/hashicorp/vagrant/issues/10961#issuecomment-526132132)中建议的解决方法采用以下形式,因此它不会破坏非Catalina主机:

nfsPath = "."
if Dir.exist?("/System/Volumes/Data")
    nfsPath = "/System/Volumes/Data" + Dir.pwd
end
config.vm.synced_folder nfsPath, "/vagrant", type: "nfs"

这仍然需要您从 中删除现有的 nfs 导出/etc/exports,否则 vagrant 会抱怨文件中的/etc/exports内容与Vagrantfile.

于 2019-10-09T11:09:35.617 回答