Я разрабатываю различные пакеты PHP в глобальной/общей папке и связываю их с различными настройками разработки, что отлично работает с базовой настройкой локального хоста.
Однако я сталкиваюсь с проблемами, когда пытаюсь добиться того же самого внутри Vagrant, поскольку он не поддерживает символические ссылки в синхронизированных папках (или, по крайней мере, имеет проблемы с безопасностью).
Мне посоветовали использовать синхронизированные папки, чтобы обойти это, но, хотя Vagrant говорит мне, что монтирует папки, когда я вхожу по ssh, они пусты.
Чтобы проиллюстрировать, это моя установка:
Глобальный репозиторий пакетов (ссылка на все среды разработки):
+- shared_drive
+- packages
+- PackageFoo
+- PackageBar
+- PackageBaz
Локальный хост (который работает):
+- work_drive
+- project
+- vendor
+- davestewart
+- PackageFoo <= symlink to /shared_drive/packages/PackageFoo
ВМ (которая не работает):
+- vagrant
+- project <= mapped to /work_drive/project
+- vendor
+- davestewart
+- PackageFoo <= mapped to /shared_drive/packages/PackageFoo
Пути правильные, везде могу cd
.
Я пробовал разные типы синхронизации (по умолчанию, nfs, rsync).
Итак, что бы я ни делал, ls
в Vagrant показывает, что vendor/davestewart/
пусто.
Это вообще правильный подход? Все, что я хочу сделать, это редактировать и тестировать исходные файлы пакетов во всех средах разработки, которые я настроил.
OS X / Yosemite VirtualBox 5.1