小编rda*_*sky的帖子

Vagrant 共享文件夹和文件更改事件

我有通过 Vagrant 访问的 ubuntu 虚拟机。在我的主机 (Mac OSX) 上,有一个包含几个文件的文件夹,我将这些文件共享给虚拟机。在那个虚拟机中,我想使用guard来监视文件更改并在这些文件中的任何一个发生更改时执行一些操作。

我正确设置了警卫,当从虚拟机中更改共享文件时,它可以正常工作并运行适当的脚本。但是,如果我尝试从我的主机更改共享文件,则此文件更改事件不会传播并且防护不会做出反应。

这就是我的 vagrant 共享文件夹的样子(非常常见的东西)

local_config.vm.share_folder "app", "/var/www/app/current", "../app"
Run Code Online (Sandbox Code Playgroud)

我什至尝试使用 NFS 共享 ( :nfs => true) 但它没有帮助。

有没有办法让文件更改事件从主机传播到虚拟机?或者这是 Vagrant/VirtualBox 的本质?

更新:

经过更多的试验,我安装了ZenTest gem,它包含自动测试工具,允许有关文件更改事件的类似功能。

在虚拟机中运行自动测试并从我的主机更改文件时,这些更改会传播并自动测试做出反应

基于此,似乎文件更改事件传播是保护问题,而不是流浪者或虚拟框。

不过,我还没有研究保护和自动测试之间的实现差异。

现在我知道可以从虚拟机中的主机捕获文件更改事件。有没有人知道如何使用守卫实现这一目标?我更喜欢guard,因为它的DSL 和通用的可用性。

filesystems virtual-machines file-sharing virtualbox vagrant

15
推荐指数
1
解决办法
6868
查看次数