我想使用 Vagrant 为我的团队提供一个通用的开发环境。主机完全不同:
- 有些使用 OS X,有些使用 Linux,有些使用 Windows。
- 有些使用 VMware,有些使用 VirtualBox。
在我们想要运行 Linux 的 VM 内部。
到目前为止,一切都很好。
现在我们的想法是每个开发人员都应该能够使用他们选择的 IDE,因此我们引入了一个同步文件夹,用于在主机和 VM 之间共享源代码。这基本上也有效……除了符号链接。
在我们的源代码中,我们确实有一些符号链接,这在虚拟机内部的 Linux 中不是问题,但在作为主机的 Windows 上,这会导致问题。我们唯一不能做的就是摆脱符号链接,所以我们需要另一种方法来处理这个问题。
到目前为止,我们已经尝试了多种选择:
- Vagrant 的一期中提到了一种解决方法,不幸的是,这仅适用于 VirtualBox,对运行 VMware 的人没有帮助。到目前为止,我们还没有找到根据所使用的提供程序在Vagrantfile中运行代码的方法。
- 我们现在尝试使用rsync类型,而不是使用标准共享文件夹。这在 Windows 上有效,但在 OS X 上崩溃并出现许多错误,告诉我们
symlink has no referent
(每个符号链接一个错误)。 - 我们考虑过NFS,但这仅在您不使用 Windows 作为主机时才有效。
- 我们也考虑过SMB,但这同样只适用于作为主机的 Windows。
我无法想象我们是这个星球上唯一或第一个在共享文件夹中遇到多平台主机和符号链接问题的人。
您如何解决这个问题,以便我们可以保留符号链接,但仍然使用不同的主机操作系统?