我正在虛擬機設置上進行Rails開發,這與Vagrant有點類似。我最喜歡的是它是可移植的,所以我在家裏和工作上都有基本相同的基於Ubuntu的虛擬機 - 我在給定時刻複製了它。僅在某些開發虛擬機上運行gntp
我的問題是,我已經設置了警衛在家裏的Mac上通知Growl,但是因爲我在Windows上工作,所以我想禁用在Windows主機上運行的VM上的通知功能。
以下是我的Guardfile
中的問題。
notification :gntp, :host => '192.168.1.139'
有關如何在其中一個虛擬機上禁用此功能的任何想法?
從我的頭頂來看,兩臺虛擬機的不同之處在於IP地址,但我想我也可以修改主機名。
UPDATE
我解決了一半這一點,通過修改上述行來:
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地址,但會嘗試本地主機(這是默認行爲)。在每次規範運行結束時,我仍然得到一個錯誤,但至少它不會掛上寶貴的秒數。錯誤是:
ERROR - Error sending notification with gntp: Connection refused - connect(2)
問題變成如何完全禁用運行在Windows上的虛擬機上的gntp?
通過在我的例子中修改Guardfile中的if並添加一個else分支來解決它。關鍵是「通知:關閉」。我不確定我完全理解你的第一個選擇。我怎麼知道我在說'macdev'? – janosrusiczki 2013-05-14 11:19:35
對不起,這是含糊不清的。你可以在使用Rails的時候設置一個自定義的環境。我在問題中看到了標籤,因此繼續使用它,從不打算澄清。稍後會添加一篇文章鏈接。 :) – Kashyap 2013-05-14 11:36:05
感謝您的迴應和更新。 – janosrusiczki 2013-05-14 13:54:50