Ich besitze eine virtuelle Ubuntu-Maschine, auf die ich über Vagrant zugreifen kann. Auf meinem Host (Mac OS X) befindet sich ein Ordner mit einigen Dateien, die ich für die virtuelle Maschine freigebe. In dieser virtuellen Maschine möchte ich mit guard nach Dateiänderungen suchen und eine Aktion ausführen, wenn sich eine dieser Dateien ändert.
Ich habe guard richtig eingerichtet und beim Ändern der freigegebenen Datei in der virtuellen Maschine funktioniert es einwandfrei und führt die entsprechenden Skripte aus. Wenn ich jedoch versuche, eine freigegebene Datei von meinem Host-Computer aus zu ändern, wird dieses Dateiänderungsereignis nicht weitergegeben und der Guard reagiert nicht.
So sieht mein vagabundierender freigegebener Ordner aus (ziemlich übliches Zeug)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
Ich habe sogar versucht, NFS-Sharing ( :nfs => true
) zu verwenden, aber es hat nicht geholfen.
Gibt es eine Möglichkeit, Dateiänderungsereignisse vom Host auf die virtuelle Maschine zu übertragen? Oder ist das etwas von Vagrant / VirtualBox?
AKTUALISIEREN:
Nach einigen weiteren Versuchen habe ich ZenTest gem installiert , das ein Autotest-Tool enthält, das ähnliche Funktionen in Bezug auf Dateiänderungsereignisse ermöglicht.
Beim Ausführen des Autotests auf einer virtuellen Maschine und beim Ändern von Dateien von meinem Hostcomputer werden diese Änderungen weitergegeben und der Autotest reagiert .
Auf dieser Grundlage scheint es, dass die Weitergabe von Dateiänderungsereignissen ein Problem des Schutzes ist, nicht des Vagabunden oder der virtuellen Box.
Ich habe die Implementierungsunterschiede zwischen guard und autotest nicht untersucht.
Jetzt weiß ich, dass es möglich ist, Dateiänderungsereignisse vom Host in der virtuellen Maschine abzufangen. Hat jemand eine Idee, wie dies mit guard erreicht werden kann? Ich mag Wache mehr wegen seiner DSL und generischen Benutzerfreundlichkeit.