问题描述
运行配置脚本后是否可以让流浪汉同步文件夹?
我需要将来宾文件夹与主机文件夹同步,但是主机文件夹必须为空才能使配置脚本起作用。用户和组也必须存在。在配置脚本运行之前,没有一个可以存在。我的供应脚本创建了用户和组。
已同步的文件夹是Magento主题。 Magento首先需要安装,然后才能同步目录,因为Magento不会安装到非空目录中。
这是我的Vagrantfile
$('li.nav-item').mouseenter(function (e) {
e.stopImmediatePropagation();
if ($(this).hasClass('dropdown')) {
// target element containing dropdowns,show it
$(this).addClass('show');
$(this).find('.dropdown-menu').addClass('show');
// Close dropdown on mouseleave
$('.dropdown-menu').mouseleave(function (e) {
e.stopImmediatePropagation();
$(this).removeClass('show');
});
// If you have a prenav above,this clears open dropdowns (since you probably will hover the nav-item going up and it will reopen its dropdown otherwise)
$('#prenav').off().mouseenter(function (e) {
e.stopImmediatePropagation();
$('.dropdown-menu').removeClass('show');
});
} else {
// unset open dropdowns if hover is on simple nav element
$('.dropdown-menu').removeClass('show');
}
});
我已经看过触发器,但是我可以弄清楚如何在触发器中使用# -*- 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
。
有什么建议吗?
解决方法
我找到了解决方法。
在Vagrantfile
中将config.vm.synced_folder
设置为false(同样适用于nfs
):
config.vm.synced_folder "app/design/frontend","/var/www/mage/app/design/frontend",type: "rsync",disabled: false,owner: "mage",group: "www-data"
现在运行vagrant up
。完成服务器配置后,请禁用true
,如下所示:
config.vm.synced_folder "app/design/frontend",disabled: true,group: "www-data"
现在运行vagrant reload
,文件夹将被同步。
docs说
disabled
(布尔值)-如果为true,则此同步文件夹将被禁用, 将无法设置。 这可用于禁用先前定义的 已同步文件夹或有条件地禁用基于某些文件夹的定义 外部因素。
这使我相信这可能是解决我的问题的预期方法之一。
有一个功能请求,要求在事后准备挂载文件夹,该请求似乎已关闭且尚未解决,因此我认为没有其他方法可以使用:https://github.com/hashicorp/vagrant/issues/936