MacOS Catalina上Vagrant的``陈旧文件句柄''错误

时间:2019-10-11 10:22:35

标签: macos vagrant nfs macos-catalina

将macOS更新到Catalina之后,外部SSD上的Vagrant项目停止工作。尝试访问已挂载文件夹中的文件列表会出现错误-“陈旧文件句柄”。同时,添加到安装路径/ System / Volumes / Data /后,位于本地磁盘上的项目将起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我能够做到:

1-sudo rm /etc/exports

2-在Vagrant文​​件上,更改synced_folder上的配置,以使用Catalina新模式中的绝对路径。

例如: directory = "<project_path>" config.vm.synced_folder "/System/Volumes/Data#{directory}", "/vagrant", :nfs => true, :mount_options => ['actimeo=2']

3-运行vagrant destroy -f && vagrant up

你很好!

答案 1 :(得分:0)

添加'/ System / Volumes / Data'仅对本地文件系统上的项目有用。此错误已在最新的Vagrant版本中修复。但是问题对于外部驱动器上的项目是实际的。

我找到了一个不是很漂亮但可行的解决方案:

  1. 从/ etc / exports中删除旧的Vagrant行,并添加到/ etc / exports中:

/卷/ SSD / DEV /目录名/ www -alldirs -mapall = 501:20 192.168.33.10

  1. sudo nfsd重新启动
  2. showmount -e

您必须看到正确的安装列表: /卷/ SSD / DEV /目录名/ www 192.168.33.10

  1. 编辑Vagrantfile

config.vm.synced_folder“ / Volumes / SSD / DEV / dirname / www”,“ / var / www”,键入:“ nfs”,nfs_export:false

默认情况下,vagrant将您的目录挂载到/ vagrant文​​件夹,但是如果您想在另一个目录中挂载,请添加到Provisioning部分: sudo mount -o vers = 3,udp 192.168.33.1:/Volumes/SSD/DEV/dirname/www / var / www