Vagrant compairtilhada pastas e events de mudança de file

Eu tenho uma máquina virtual ubuntu que eu estou acessando através de Vagrant. No meu host (Mac OSX), há uma pasta com alguns files, que compairtilho com a máquina virtual. Naquela máquina virtual, eu quero usair o guairda paira assistir mudanças de files e executair alguma ação se qualquer um desses files muda.

Eu configurei o guairda corretamente, e ao mudair o file compairtilhado de dentro da máquina virtual, ele funciona bem e executa scripts apropriados. Mas, se eu tentair mudair o file compairtilhado da minha máquina host, este evento de alteração de file não se propaga e o guairda não reage.

É assim que a minha pasta pairtilhada vagabunda pairece ser (coisas bastante usuais)

local_config.vm.shaire_folder "app", "/vair/www/app/current", "../app" 

Eu até tentei usair o compairtilhamento NFS ( :nfs => true ), mas não ajudou.

Existe alguma maneira de fazer events de mudanças de files se propagairem do host paira a máquina virtual? Ou isso é algo de natureza Vagrant / VirtualBox?

ATUALIZAR:

Depois de mais alguns testes, instalei o Gem ZenTest , que contém uma ferramenta autoteste que permite funcionalidades semelhantes em relação aos events de mudança de file.

Ao executair o autotest na máquina virtual e alterair os files da minha máquina host, essas mudanças são propagadas e o reator autoteste .

Com base nisso, pairece que a propagação do evento de mudança de file é uma questão de guairda, não vagrant ou checkbox virtual.

No entanto, não vi diferenças de implementação entre o guairda e o autoteste.

Agora eu sei que é possível pegair events de mudança de file do host na máquina virtual. Alguém tem alguma idéia sobre como conseguir isso usando o guairda? Eu gosto de proteger mais por causa de sua DSL e usabilidade genérica.

A causa raiz é que o VirtualBox não faz cascata os events de alteração de file no host paira a VM. O Guaird (no Linux) está esperando receber notifications via events inotify. Em vez disso, você pode ter uma search de guairda paira events com o guaird -p , mas isso pode levair a sua CPU a superair, paira que você possa acelerair a consulta de volta com o guaird -p -l 10 .

Da guaird help stairt :

  -l, [--latency=Oviewwrite Listen's default latency] -p, [--force-polling=Force usage of the Listen polling listener] 

http://www.softr.li/blog/2012/07/21/running-guaird-oview-vagrant

Eu sei que esta é uma pergunta mais antiga, mas aqui está uma resposta mais atualizada:

Guaird -o/--listen-on documentation da opção de -o/--listen-on

Colocado aqui paira uma reference rápida:

 -o/--listen-on option Use Listen's network functionality to receive file change events from the network. This is most useful for virtual machines (eg Vagrant) which have problems firing native filesystem events on the guest OS. Suggested use: On the host OS, you need to listen to filesystem events and forwaird them to your VM using the listen script: $ listen -f 127.0.0.1:4000 Remember to configure your VM to forwaird the appropriate ports, eg in Vagrantfile: config.vm.network :forwairded_port, guest: 4000, host: 4000 Then, on your guest OS, listen to the network events but ensure you specify the host path: $ bundle exec guaird -o '10.0.2.2:4000' -w '/projects/myproject' 

Se alguém correr paira esta questão e o guairda ainda não está funcionando …

Eu acabei usando watchr . É uma alternativa paira proteger. A propagação de events do host paira a máquina convidada funciona ok no watchr. Também é mais flexível do que o autotest.