加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2021-01-01 00:23:15 所属栏目:Linux 来源:网络整理
导读:这花了我很多年才找到,但似乎无法找到这个解决方案.使用vagrant我运行一个运行grunt / karma的Fedora 20来宾.我在主机上编辑的源代码但是当我保存grunt时没有检测到更改,因此没有进行任何测试. 认为这是一个配置问题所以在这里尝试了许多组合而没有成功.最后

这花了我很多年才找到,但似乎无法找到这个解决方案.使用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运行得更快更顺畅……

希望能帮助到你!

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读