Vue.jsのプロジェクトを開発中にサーバーを立ち上げようとしたら,以下のエラーが発生しました.
Error: ENOSPC: System limit for number of file watchers reached, watch ...
Vue.jsはchokidarを使用してファイル変更を監視しているらしく,Ubuntuではinotifyを利用しているそうです.
/proc/sys/fs/inotify/max_user_watches.
This specifies an upper limit on the number of watches that can be created per real user ID. *1
我が家のUbuntu Serverでは8192に設定されていました.
$ cat /proc/sys/fs/inotify/max_user_watches 8192
chokidarのTroubleshootingという項目に解決方法が記載されており,上記の数値を上げればよいみたいです./etc/sysctl.conf
の最後に,
fs.inotify.max_user_watches=524288
と記載して,再読み込みします.
$ sudo sysctl -p fs.inotify.max_user_watches = 524288
Vue.jsの開発サーバーが起動するようになりました.上限を上げても大丈夫なのか心配しましたが,しばらく使用してみても特に問題なさそうなので,このまま使用してみます.
ちなみに,चौकीदार はヒンディー語で監視する人を意味するそうです.