当主人改变来源咕噜/业力不检测它时,stream浪汉上的咕噜业力testing

这花了我很长时间才发现,但似乎无法find这个解决scheme。 使用stream浪者我运行一个运行咕噜/业力的Fedora 20客人。 我在主机上编辑的源代码,但当我保存咕噜声没有检测到变化,所以没有testing正在完成。

认为这是一个configuration问题,所以在这里尝试了许多事情的组合,但没有成功。 最后,我打开了第二个SSH给客人vagrang ssh并在另一个sshterminalecho " " >> app/js/app.js更改了文件,现在grunt / karma检测到这个更改并再次运行testing。

由于它没有x窗口或任何我正在运行与PhantomJStesting。 另一个问题是,我不得不在httpd.conf中设置EnableSendfile off ,以防止Apache在共享文件(这是我的项目在主机和web客户端的根目录)的时候发送垃圾。 我的猜测是可能有另外一个需要对节点进行的设置,以便检测主机对共享上的文件所做的更改。 它使用的是virtualBox共享。

有没有人经历过这个,有没有解决这个? 似乎主机更改共享上的文件不会触发grunt / karma正在监听指示文件已更改的一些事件。

[更新]

尝试NFS和rsync共享,但NFS并没有工作,rsync似乎只是启动时同步。

[更新]

作为一个临时解决scheme,我必须手动告诉文件在sshterminal中更新:

 #start grunt and give me back command: grunt & #when I update a file tell grunt it's updated touch -d "now" test/unit/loginSpec.js 

有趣的是,如果我更新了app/js/login.js并告诉grunt test/unit/loginSpec.js被更新了,它将会再次运行testing,但是旧的login.js已经改变了cat app/js/login.js显示更改。 如果不是这样的解决scheme将被设置为右窗口和两个按键(向上箭头键入)

    这源自vboxsf(Virtualbox“分片文件夹”文件系统)的同步中的一个已知错误,此问题的解决方案只能由Virtualbox团队实施。 人们遇到了与Gulp,Guard或Meteor.js类似的问题(仅举几例)。

    有一些解决方法,您可以使用…

    自动的rsync

    Vagrant 1.5有一个自动同步实用程序( rsync-auto ),用于监视指定的文件夹,并在实时进行自动同步更改。 它使用系统特定的API来检测文件更改,而不是轮询文件系统。

    所以你应该在流浪文件中定义你的份额。 即:

     config.vm.synced_folder ".", "/vagrant", type: "rsync" 

    并打开一个额外的终端会话运行:

     $ vagrant rsync-auto 

    但是,这本身并不是最有效的选择。 在这里你可以找到一个gruntfile和一个流浪的插件 ,它可以帮助你使你的rsync运行更快,更顺畅。

    希望能帮助到你!