Vagrant 适用于OS X和Windows的单个文件

Vagrant 适用于OS X和Windows的单个文件,vagrant,vagrantfile,Vagrant,Vagrantfile,我们在整个团队中使用vagrant,因此我们可以构建相同的开发环境。虽然它在大多数情况下工作得很好,但我们遇到了一些特定于主机操作系统的问题,无论是OS X还是Windows,例如,在使用同步文件夹时,nfs=>false,:nfs\u version=>3选项需要更改 有没有推荐的方法来处理这个问题?该文件是否应首先检测主机环境,然后进行相应的处理?随着我们越来越多地使用它,我不希望出现这样的情况:一个开发人员有特定于Vagrant/Windows的问题,因此更改了Vagrant文件,推动了他

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


有没有推荐的方法来处理这个问题?该文件是否应首先检测主机环境,然后进行相应的处理?随着我们越来越多地使用它,我不希望出现这样的情况:一个开发人员有特定于Vagrant/Windows的问题,因此更改了Vagrant文件,推动了他的更改,然后在OS X上开发的一个开发人员拉取了这个修改后的Vagrant文件,但它不能正常工作,因此他会做出与系统相关的更改等。

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

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

  if RUBY_PLATFORM =~ /darwin/
    config.vm.synced_folder ".", "/vagrant", type: "nfs"
  else
    # ...
  end
end

我们应该关注JRuby上的RUBY\u版本吗?Vagrant是否/曾经/将在JRuby上运行?