2016-05-27 4 views

答えて

3

何が起こっていたのか把握しようとすると、結局、figwheelがファイルの変更を検出する方法が決まりました。

ファイルの変更を検出するにはfigwheelはhawk libraryを使用し、次にオペレーティングシステムを使用して、ファイルが更新されたことを通知します。 vagrantはデフォルトでvboxsfを使用するため、ファイルが変更された更新を提供する基本的な更新メカニズムはありません。hereを参照してください。この問題を解決するために、我々は、ファイルの変更をポーリングするだけfigwheelを伝える必要があり、したがって、鷹:

:figwheel {:hawk-options {:watcher :polling} 

はちょうどあなたのprofile.cljでこれをポップし、そのファイルが保存された後figwheelが変更を確認することができますポーリングで変更が反映されるまでに時間がかかりますが、少し待ってください。

これは、figwheelがコード変更を実際にプッシュするためにまだアクティブなWebSocket接続を必要とするため、この問題の半分しか解決しません。これは、vagrant VMがネットワーク上の別のマシンであり、websocketをlocalhost以上に公開する必要があるという事実によって複雑になります。

:figwheel {:server-ip "0.0.0.0"} 

、その後vagrantfileにfigwheel用WebSocketポートを暴露:これはproject.cljfigwheelマップに別のキーを追加することによって達成することができ

config.vm.network "forwarded_port", guest: 3449, host: 3449 

、それは浮浪者にfigwheelを修正する必要があります!

1

はFYIドッカー/ベイグラントで働いていない

ウォッチタスクを引用する以下のソリューション

troubleshooting on vagrant docker

に同様の問題や仕事を持っていましたか?

シナリオ:Docker/Vagrantでマウントされたファイルに対して、 の間で、NFS経由でゲストとホストOSを変更しました。ファイルシステムイベントは正しく受信されません。

解決策:NFSが inotifyをサポートしていないため、これらの環境でrsyncを使用してください。ゲストOSでreplサーバーを実行し、ホストから に接続することもできます。

+2

Windowsでrsyncが正常に機能するのに問題がありましたが、これは有効な解決策です。 – royalaid

+0

Windowsで問題がいくつかありましたが、具体的にはそのアリーナ – Kendall

関連する問題