我想使用Vagrant爲我的團隊提供一個通用開發環境。主機是完全不同的:Vagrant中的符號鏈接和同步文件夾
- 一些使用OS X,一些Linux和一些Windows。
- 有的使用VMware,有的使用VirtualBox。
在VM的內部我們要運行Linux。
到目前爲止,一切都很好。
現在我們的想法是每個開發人員都應該能夠使用他們選擇的IDE,因此我們引入了一個共享文件夾,該文件夾共享主機和VM之間的源代碼。這基本上,工作以及...符號鏈接除外。
在我們的源代碼中,我們實際上確實有一些符號鏈接,這在虛擬機內部的Linux內部不是問題,但是在Windows上因爲主機而導致問題。我們唯一能做的就是而不是這樣做是擺脫了符號鏈接,所以我們需要另一種方式來解決這個問題。
到目前爲止,我們已經嘗試了多種選擇:
- 有在流浪的issue提到的解決方法,可惜這是VirtualBox的,僅供參考,並不幫助那些誰運行VMware。到目前爲止,取決於所使用的提供商,我們尚未找到在流浪文件中運行代碼的方法。
- 而不是使用標準的共享文件夾,我們現在嘗試使用rsync類型。這適用於Windows,但在OS X上崩潰並帶有一些錯誤,告訴我們
symlink has no referent
(每個符號鏈接一個錯誤)。 - 我們考慮過NFS,但只有在您不使用Windows作爲主機時纔有效。
- 我們也儘管約SMB,但這隻能作爲主機在Windows上運行。
我無法想象我們是這個星球上唯一或第一批在共享文件夾中遇到多平臺主機和符號鏈接問題的人。
如何解決此問題,以便我們可以保留符號鏈接,但仍使用不同的主機操作系統?
這裏討論:https://github.com/mitchellh/vagrant/issues/713#issuecomment-4416384 –
@SteveBennett,這個問題(目前接受的答案參考)已在15個月發佈的Vagrant 1.1中解決在OP發佈問題之前。無論如何它都是關於VirtualBox共享文件夾,而不是rsync'd文件夾。看到我的答案在下面(接受的答案是錯誤的)。 – jdunk