grunt-este-watchで謎のファイルが検知される
Created at
Updated at
概要
UbuntuからFedoraに開発環境を変えた際に起こったこと。いつも開発ディレクトリ以下をgrunt-este-watchで監視し、コンパイルやファイルの移動等行っている。
しかし、Fedoraに変えてから、「"4913"というファイルが見つからないよ!」というエラーを吐いてタスクが止まってしまうことが頻発していた。
原因
"4913"とは?
vimが生成するテンポラリファイル。 編集中のファイルを保存する際に、保存先のディレクトリにファイルを書き込むことができるかを判別するために生成される。 確認用のため、確認が終わるとすぐに削除される。
エラーになる理由
こんな流れになっているため
- "4913"が生成される
- ファイル監視が検知する
- イベントハンドラを通してeste-watchに渡される
- 書き込みに成功したので"4913"が削除される
- este-watchが見に行く
- ファイルがないからエラーになる
対処
@steida(este-watchの作者)はすでにglupに移行していて、grunt-este-watchは既にdeprecatedな為、"4913"は無視する強引なコードをソースに書き足した。ついでにエラー時にトレースログ吐くようにもした。(2015.02.06追記)
結局リポジトリをForkして修正した。 pocka/grunt-este-watch
参考URL
Temporary files creation in Linux内、10-08-2008, 09:54 AM のjlliagreさんのポスト vimのソースコードの該当箇所