linux – 当宿主改变来源grunt / karma没有检测到它时,对流浪者
这花了我很多年才找到,但似乎无法找到这个解决方案.使用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 updated touch -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运行得更快更顺畅…… 希望能帮助到你! (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |