【发布时间】:2013-05-08 11:22:45
【问题描述】:
我正在一个类似于 Vagrant 的虚拟机设置上进行 Rails 开发。我最喜欢它的地方在于它是可移植的,所以我在家里和工作中基本上都拥有相同的基于 Ubuntu 的虚拟机——我在给定的时刻复制了它。
我的问题是我在家中的 Mac 上设置了警卫来通知 Growl,但是由于我在工作中使用 Windows,所以我想禁用 Windows 主机上运行的 VM 上的通知功能。
这是我的Guardfile 中的问题。
notification :gntp, :host => '192.168.1.139'
关于如何在其中一个虚拟机上禁用此功能的任何想法?
在我看来,两台虚拟机的不同之处在于 IP 地址,但我想我也可以修改主机名。
更新
我通过将上面的行修改为:
notification :gntp, :host => '192.168.1.139' if Socket.gethostname == 'railsbox'
# 'railsbox' is the VM on my Mac, I renamed the VM on Windows to 'railsbox-win'
至少这样它不会尝试通知该 IP 地址,而是尝试 localhost(这是默认行为)。在每次规范运行结束时我仍然会收到一个错误,但至少它不会在宝贵的几秒钟内挂起。错误是:
ERROR - Error sending notification with gntp: Connection refused - connect(2)
问题变成了如何在 Windows 上运行的 VM 上完全禁用 gntp?
【问题讨论】:
标签: ruby-on-rails guard growl