适用于OS X和Windows的单个Vagrantfile

Phi*_*ien 2 vagrant vagrantfile

我们在整个团队中使用vagrant,因此我们可以构建相同的开发环境.虽然它在大多数情况下都很有效,但我们遇到了一些特定于主机操作系统的问题,无论是OS X还是Windows,例如,当使用同步文件夹时,nfs => false, :nfs_version => 3选项需要更改.

有没有推荐的方法来处理这个?Vagrantfile是否应首先检测主机环境然后相应地进行?随着我们越来越多地使用它,我不希望一个开发人员遇到特定于Vagrant/Windows的问题的情况,因此更改Vagrantfile,推高他的更改,然后开发的OS X拉动此修改的Vagrantfile并且它不会工作正确,所以他做出与他的系统等相关的更改.

Emy*_*myl 5

Vagrantfile只是ruby,因此您可以轻松插入取决于主机操作系统的条件:

Vagrant.configure("2") do |config|
  # ...

  if RUBY_PLATFORM =~ /darwin/
    config.vm.synced_folder ".", "/vagrant", type: "nfs"
  else
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)