linux – 当宿主改变来源gruntkarma没有检测到它时,对流浪者进行grunt karma测试

linux – 当宿主改变来源gruntkarma没有检测到它时,对流浪者进行grunt karma测试,第1张

概述这花了我很多年才找到,但似乎无法找到这个解决方案.使用vagrant我运行一个运行grunt / karma的Fedora 20来宾.我在主机上编辑的源代码但是当我保存grunt时没有检测到更改,因此没有进行任何测试. 认为这是一个配置问题所以在这里尝试了许多组合而没有成功.最后我打开第二个ssh到客户vagrang ssh并更改了另一个ssh终端中的文件echo“”>> app / js / a 这花了我很多年才找到,但似乎无法找到这个解决方案.使用vagrant我运行一个运行grunt / karma的Fedora 20来宾.我在主机上编辑的源代码但是当我保存grunt时没有检测到更改,因此没有进行任何测试.

认为这是一个配置问题所以在这里尝试了许多组合而没有成功.最后我打开第二个ssh到客户vagrang ssh并更改了另一个ssh终端中的文件echo“”>> app / Js / app.Js并看到现在grunt / karma检测到更改并再次运行测试.

因为它没有x窗口或任何我用PhantomJs运行测试.另一个问题是我必须在httpd.conf中设置EnableSendfile,以防止Apache在从共享中提供文本文件时发送垃圾(这是我的主机项目和客户机中的web根目录).我的猜测是,可能需要对节点执行另一个设置,以便它检测主机对共享上的文件所做的更改.它使用virtualBox共享.

有没有人经历过这个,有没有解决方案呢?似乎主机更改共享文件不会触发grunt / karma正在侦听的某些事件,表明文件已更改.

[更新]

试过NFS和rsync共享,但NFS根本不工作,rsync似乎只是在启动时同步.

[更新]

作为临时解决方案,我必须手动告诉文件在ssh终端中更新:

#start grunt and give me back command:grunt &#when I update a file tell grunt it's updatedtouch -d "Now" test/unit/loginspec.Js

有趣的是,如果我更新app / Js / login.Js并告诉grunt test / unit / loginspec.Js已更新,它将再次运行测试,但使用旧的login.Js,即使它已更改cat app / Js / login. Js显示了这些变化.如果不是这样,解决方案将焦点设置到右侧窗口和2次击键(向上箭头并输入)

解决方法 这源于vBoxsf(VirtualBox“分片文件夹”文件系统)同步中的已知错误,此问题的解决方案只能由VirtualBox团队实施.人们与Gulp,Guard或Meteor.Js有类似的问题(仅举几例).

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

自动的rsync

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

所以你应该在vagrant文​​件中定义你的共享.即:

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

并打开另一个终端会话运行:

$vagrant rsync-auto

但是,仅这一点并不是最有效的选择.在这里你可以找到一个gruntfile和一个vagrant plugin,它将帮助你使你的rsync运行得更快更顺畅……

希望能帮助到你!

总结

以上是内存溢出为你收集整理的linux – 当宿主改变来源grunt / karma没有检测到它时,对流浪者进行grunt karma测试全部内容,希望文章能够帮你解决linux – 当宿主改变来源grunt / karma没有检测到它时,对流浪者进行grunt karma测试所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存