После обновления macOS до Catalina проекты Vagrant на внешнем SSD перестали работать. При попытке доступа к списку файлов в смонтированной папке появляется ошибка «Дескриптор устаревшего файла». При этом проекты, находящиеся на локальном диске, работают после добавления в путь монтирования / System / Volumes / Data /. Кто-нибудь может помочь?
Ошибка `` устаревший дескриптор файла '' с Vagrant на macOS Catalina
Ответы (2)
Я мог работать, выполняя:
1 - sudo rm /etc/exports
2 - В Vagrantfile измените конфигурацию на synced_folder
, чтобы использовать абсолютный путь в новом шаблоне Каталины.
ex.:
directory = "<project_path>"
config.vm.synced_folder "/System/Volumes/Data#{directory}", "/vagrant", :nfs => true, :mount_options => ['actimeo=2']
3 - Выполнить vagrant destroy -f && vagrant up
И вам хорошо!
Добавление '/ System / Volumes / Data' помогает только проектам в локальной файловой системе. И эта ошибка исправлена в последней версии Vagrant. Но проблема актуальна для проектов на внешних дисках.
Нашел не очень красивое, но рабочее решение:
- Удалите старые строки Vagrant из / etc / exports и добавьте в / etc / exports:
/ Тома / SSD / DEV / имя каталога / www -alldirs -mapall = 501: 20 192.168.33.10
- sudo nfsd перезапуск
- 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