Saya ingin menggunakan Vagrant untuk menyediakan lingkungan pengembangan umum bagi tim saya. Tuan rumah benar-benar berbeda:
- Beberapa menggunakan OS X, beberapa Linux, dan beberapa Windows.
- Beberapa menggunakan VMware, beberapa menggunakan VirtualBox.
Di dalam VM kami ingin menjalankan Linux.
Sejauh ini semuanya baik-baik saja.
Sekarang ide kami adalah bahwa setiap pengembang akan dapat menggunakan IDE pilihan mereka, dan karenanya kami telah memperkenalkan folder tersinkronisasi yang membagikan kode sumber antara host dan VM. Ini pada dasarnya, bekerja dengan baik… kecuali untuk tautan simbolik.
Di dalam kode sumber kami, kami sebenarnya memiliki beberapa tautan simbolis, yang tidak menjadi masalah di dalam Linux di dalam VM, tetapi pada Windows sebagai host, hal ini menyebabkan masalah. Satu-satunya hal yang tidak dapat kita lakukan adalah menghilangkan tautan simbolis, jadi kita memerlukan cara lain untuk mengatasinya.
Sejauh ini, kami telah mencoba sejumlah opsi:
- Ada solusi yang disebutkan dalam masalah Vagrant, sayangnya ini hanya untuk VirtualBox dan tidak membantu mereka yang menjalankan VMware. Sejauh ini, kami belum menemukan cara menjalankan kode di Vagrantfile bergantung pada penyedia yang digunakan.
- Alih-alih menggunakan folder bersama standar, kami sekarang mencoba menggunakan tipe rsync . Ini berfungsi pada Windows, tetapi crash pada OS X dengan sejumlah kesalahan yang memberi tahu kita bahwa
symlink has no referent
(satu kesalahan per tautan simbolik). - Kami memikirkan tentang NFS , tetapi itu hanya berfungsi jika Anda tidak menggunakan Windows sebagai host.
- Kami juga memikirkan tentang SMB , tetapi ini lagi-lagi hanya berfungsi di Windows sebagai host.
Saya tidak dapat membayangkan bahwa kita adalah satu-satunya atau orang pertama di planet ini yang mengalami masalah dengan host multi-platform dan tautan simbolis dalam folder bersama.
Bagaimana Anda dapat mengatasi masalah ini, sehingga kami dapat menyimpan tautan simbolik, tetapi masih menggunakan sistem operasi host yang berbeda?