Vagrant同步文件夹模式与文件模式

Vagrant同步文件夹模式与文件模式,vagrant,virtualbox,hyper-v,Vagrant,Virtualbox,Hyper V,使用Vagrant时,必须使用以下配置与Hyper-V vs Virtualbox配合使用: (Virtualbox) config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["fmode=666", "dmode=777"] config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["file_mode=0777", "dir_mode=0777"] (

使用Vagrant时,必须使用以下配置与Hyper-V vs Virtualbox配合使用:

(Virtualbox)

config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["fmode=666", "dmode=777"]
config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["file_mode=0777", "dir_mode=0777"]
(Hyper-V)

config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["fmode=666", "dmode=777"]
config.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["file_mode=0777", "dir_mode=0777"]
唯一的区别是fmode/dmode与file\u模式/dir\u模式。
但这会导致无法分别在另一个上启动。 Wagrant up在尝试时会出现神秘信息/问题

是否有解决方法?
为什么做出这个决定?
这仅仅是一个错误的决定,还是我遗漏了一些显而易见的东西


在Windows上使用Vagrant 2.2.3。

如果每个提供程序具有不同的设置,则可以覆盖特定于提供程序的部分中的设置:

Vagrant.configure("2") do |config|
  config.vm.box = "xxxx"

  config.vm.provider "virtualbox" do |vb, override|
    override.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["fmode=666", "dmode=777"]
  end

  config.vm.provider "hyperv" do |h, override|
    override.vm.synced_folder ".", "/var/www/btoc/", mount_options: ["file_mode=666", "dir_mode=777"]
  end

end

令人惊叹的!这解决了我最初的痛苦-谢谢!尽管在跨平台软件的不同平台上以不同的方式命名交换机的决定似乎仍有疑问,至少可能是这样,但由于vagrant依赖于这些提供商,而提供商的行为也不同,vagrant需要vagrant文件的一些支持,以了解如何使其适用于所有不同平台的用例