Vagrant にやや似た仮想マシンのセットアップで Rails 開発を行っています。私が最も気に入っているのは、ポータブルであるため、基本的に自宅と職場で同じ Ubuntu ベースの仮想マシンを使用していることです。特定の瞬間にそのコピーを作成しました。
私の問題は、自宅の Mac で Growl に通知するようにガードを設定したことですが、職場で Windows を使用しているため、Windows ホストで実行されている VM の通知機能を無効にしたいと考えています。
これが私の問題の行Guardfile
です。
notification :gntp, :host => '192.168.1.139'
VM の 1 つでこれを無効にする方法についてのアイデアはありますか?
私の考えでは、2 つの VM で異なる点の 1 つは 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 を完全に無効にする方法です。