Vagrant 是否在设置脚本运行后同步文件夹?

Vagrant 是否在设置脚本运行后同步文件夹?,vagrant,vagrantfile,vagrant-provision,Vagrant,Vagrantfile,Vagrant Provision,在运行配置脚本后,是否可以让vagrant同步文件夹 我需要将来宾文件夹与主机文件夹同步,但主机文件夹必须为空才能使供应脚本正常工作。用户和组也需要存在。在配置脚本运行之前,其中的任何一个都可能不存在。我的设置脚本创建用户和组 同步文件夹是一个Magento主题。Magento首先需要安装,然后才能同步目录,因为Magento不会安装到非空目录中 这是我的档案 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2&

在运行配置脚本后,是否可以让vagrant同步文件夹

我需要将来宾文件夹与主机文件夹同步,但主机文件夹必须为空才能使供应脚本正常工作。用户和组也需要存在。在配置脚本运行之前,其中的任何一个都可能不存在。我的设置脚本创建用户和组

同步文件夹是一个Magento主题。Magento首先需要安装,然后才能同步目录,因为Magento不会安装到非空目录中

这是我的档案

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provision "shell", path: "provision.sh"
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.synced_folder "app/design/frontend", 
              "/var/www/mage/app/design/frontend",
              create: false,
              owner: "mage",
              group: "www-data"
    
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "3000"
  end
end
我已经研究了触发器,但是我知道如何在触发器中使用
config.vm.synced_文件夹

有什么建议吗?

我找到了解决办法

Vagrantfile
中,将
config.vm.synced_文件夹
设置为false,如下所示(也适用于
nfs
):

现在运行
vagrant up
。服务器配置完成后,将禁用更改为
true
,如下所示:

config.vm.synced_folder "app/design/frontend", 
          "/var/www/mage/app/design/frontend",
          type: "rsync",
          disabled: true,
          owner: "mage",
          group: "www-data"
现在运行
vagrant reload
,文件夹将同步

已禁用
(布尔)-如果为true,则此同步文件夹将被禁用,并且 将不会被设置这可用于禁用以前定义的 同步文件夹或有条件地禁用基于某些文件夹的定义 外部因素

这让我相信这可能是解决我的问题的一种方法

有一个装载文件夹的功能请求post条款似乎已关闭且未解决,因此我认为没有其他方法:

config.vm.synced_folder "app/design/frontend", 
          "/var/www/mage/app/design/frontend",
          type: "rsync",
          disabled: true,
          owner: "mage",
          group: "www-data"