Ошибка «Устаревший дескриптор файла» с Vagrant на macOS Catalina - PullRequest
0 голосов
/ 11 октября 2019

После обновления macOS до Catalina проекты Vagrant на внешнем SSD перестали работать. Попытка доступа к списку файлов в смонтированной папке выдает ошибку - «Устаревший дескриптор файла». В то же время проекты, расположенные на локальном диске, работают после добавления в путь монтирования / System / Volumes / Data /. Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Добавление '/ System / Volumes / Data' помогает только для проектов в локальной файловой системе. И эта ошибка исправлена ​​в последней версии Vagrant. Но проблема актуальна для проектов на внешних дисках.

Я нашел не очень красивое, но работающее решение:

  1. Удалите старые строки Vagrant из / etc / exports и добавьте в /etc / exports:

/ Тома / SSD / DEV / dirname / www -alldirs -mapall = 501: 20 192.168.33.10

sudo nfsd restart showmount -e

Вы должны увидеть правильный список монтирования: / Volumes / SSD / DEV / dirname / www 192.168.33.10

Редактировать Vagrantfile

config.vm.synced_folder "/ Volumes / SSD / DEV / dirname / www", "/ var / www", тип: "nfs", nfs_export: false

По умолчанию vagrant монтирует ваш каталог в папку / vagrant, но если вы хотите монтировать в другой каталог, добавьте в раздел обеспечения: sudo mount -o vers = 3, udp 192.168.33.1:/Volumes/SSD/DEV/dirname / www / var / www

0 голосов
/ 11 октября 2019

Мне удалось выполнить работу, выполнив:

1 - sudo rm /etc/exports

2 - В Vagrantfile измените конфигурацию на 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

И вам пора!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...