Я хочу використовувати Vagrant, щоб забезпечити спільне середовище розробки для своєї команди. Господарі абсолютно різні:
- Хтось використовує OS X, хтось Linux, а хтось Windows.
- Хтось використовує VMware, хтось використовує VirtualBox.
Усередині віртуальної машини ми хочемо запустити Linux.
Поки що все гаразд.
Тепер наша ідея полягала в тому, що кожен розробник зможе використовувати IDE за власним вибором, і отже, ми ввели синхронізовану папку, яка передає вихідний код між хостом та віртуальною машиною. Це в основному працює також ... за винятком символічних посилань.
Всередині нашого вихідного коду ми насправді маємо кілька символічних посилань, що не є проблемою в Linux всередині віртуальної машини, але в Windows як хості це викликає проблеми. Єдине, що ми не можемо зробити - це позбутися символічних посилань, тому нам потрібен інший спосіб впоратися з цим.
Наразі ми спробували ряд варіантів:
- У випуску Vagrant є згаданий обхідний шлях , на жаль, це лише VirtualBox і не допомагає тим, хто працює на VMware. Поки ми не знайшли спосіб запуску коду у Vagrantfile залежно від використовуваного постачальника.
- Замість використання стандартної спільної папки ми спробували використати тип rsync . Це працює в Windows, але виходить з ладу в ОС X з низкою помилок, які говорять нам про те, що
symlink has no referent
(одна помилка за символічне посилання). - Ми думали про NFS , але це працює лише в тому випадку, якщо ви не використовуєте Windows як хост.
- Ми також говорили про SMB , але це знову працює лише в Windows як хост.
Я не можу уявити, що ми єдині або перші люди на цій планеті, які стикаються з проблемами з мультиплатформенними хостами та символічними посиланнями у спільній папці.
Як ви можете вирішити це питання, щоб ми могли зберігати символічні посилання, але все ж використовувати різні операційні системи хоста?