Symbolische Links und synchronisierte Ordner in Vagrant

Ich möchte Vagrant verwenden, um meinem Team eine gemeinsame Entwicklungsumgebung zur Verfügung zu stellen. Die Gastgeber sind ganz anders:

Einige verwenden OS X, einige Linux und einige Windows.Einige verwenden VMware, andere VirtualBox.

Innerhalb der VM wollen wir Linux ausführen.

Bisher ist alles in Ordnung.

Jetzt war unsere Idee, dass jeder Entwickler die IDE seiner Wahl verwenden kann, und daher haben wir einen synchronisierten Ordner eingeführt, der den Quellcode zwischen dem Host und der VM teilt. Dies funktioniert im Grunde auch… mit Ausnahme von symbolischen Links.

In unserem Quellcode haben wir tatsächlich ein paar symbolische Links, was unter Linux in der VM kein Problem darstellt, aber unter Windows als Host verursacht dies Probleme. Das einzige was wir könnennicht Sie müssen die symbolischen Verknüpfungen entfernen, also brauchen wir einen anderen Weg, um damit umzugehen.

Bisher haben wir eine Reihe von Optionen ausprobiert:

Es gibt eine Problemumgehung, die in einemProblem von Vagrant, leider ist dies nur VirtualBox und hilft nicht denen, die VMware ausführen. Bisher haben wir keine Möglichkeit gefunden, Code in derVagrantfile abhängig vom verwendeten Provider.Anstelle eines gemeinsamen Standardordners haben wir jetzt versucht, den zu verwendenrsync Art. Dies funktioniert unter Windows, stürzt jedoch unter OS X mit einer Reihe von Fehlern ab, die uns mitteilen, dass diesymlink has no referent (ein Fehler pro symbolischem Link).Wir haben darüber nachgedachtNFS, aber das funktioniert nur, wenn Sie Windows nicht als Host verwenden.Wir denken auch darüber nachSMB, aber dies funktioniert wieder nur unter Windows als Host.

Ich kann mir nicht vorstellen, dass wir die einzigen oder ersten Personen auf diesem Planeten sind, die Probleme mit plattformübergreifenden Hosts und symbolischen Links innerhalb des freigegebenen Ordners haben.

Wie können Sie dieses Problem lösen, damit wir symbolische Verknüpfungen beibehalten und dennoch verschiedene Host-Betriebssysteme verwenden können?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage