Vagrant経由でアクセスしているUbuntu仮想マシンがあります。私のホスト(Mac OSX)には、仮想マシンと共有するいくつかのファイルを含むフォルダーがあります。その仮想マシンでは、guardを使用してファイルの変更を監視し、それらのファイルのいずれかが変更された場合に何らかのアクションを実行します。
ガードを適切に設定し、仮想マシン内から共有ファイルを変更すると、正常に機能し、適切なスクリプトを実行します。しかし、ホストマシンから共有ファイルを変更しようとすると、このファイル変更イベントは伝播せず、ガードは反応しません。
これは私の迷惑な共有フォルダがどのように見えるかです(かなり普通のもの)
local_config.vm.share_folder "app", "/var/www/app/current", "../app"
NFS共有(:nfs => true
)を使用しようとしましたが、役に立ちませんでした。
ファイル変更イベントをホストから仮想マシンに伝播させる方法はありますか?または、これはVagrant / VirtualBoxの性質のものですか?
更新:
さらに試してから、ZenTest gem をインストールしました。これには、ファイル変更イベントに関する同様の機能を可能にする自動テストツールが含まれています。
仮想マシンで自動テストを実行し、ホストマシンからファイルを変更すると、これらの変更が伝播され、自動テストが反応します。
これに基づいて、ファイル変更イベントの伝播は、迷惑メールや仮想ボックスではなく、ガードの問題であると思われます。
ただし、ガードと自動テストの実装の違いについては調べていません。
これで、仮想マシンのホストからファイル変更イベントをキャッチできることがわかりました。ガードを使用してこれを達成する方法について誰にもアイデアがありますか?DSLと一般的な使いやすさから、私はより多くのガードが好きです。