ExtReactを例とともにインストールしました。私が走るとき
npm start
エラーが発生します:
ERROR in [@extjs/reactor-webpack-plugin]: Error:
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.BasicException: User limit of inotify watches
reached
[ERR]
[ERR] Total time: 13 seconds
[ERR] /home/user/project/build/ext-react/build.xml:101:
com.sencha.exceptions.BasicException: User limit of inotify watches reached
[ERR] A log is available in the file "/home/user/project/build/ext-
react/sencha-error-20171027.log"
このエラーを修正する方法は?
/etc/sysctl.confを編集してこの問題を解決しました。追加したファイルに
fs.inotify.max_user_watches=100000
なぜ?
Dropbox、gitなどのファイルを同期するプログラムは、inotifyを使用してファイルシステムへの変更を通知します。制限は-で確認できます
cat /proc/sys/fs/inotify/max_user_watches
私には、100000と表示されます。この制限がディレクトリ内のすべてのファイルを監視するのに十分でない場合、このエラーがスローされます。
inotifyウォッチャーの量を増やす(ショートバージョン):
Debian、RedHat、または他の同様のLinuxディストリビューションを実行している場合は、ターミナルで次のコマンドを実行します。
echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p
ArchLinuxを実行している場合は、代わりに次のコマンドを実行します(理由はこちらを参照):
echo fs.inotify.max_user_watches=524288 | Sudo tee /etc/sysctl.d/40-max-user-watches.conf && Sudo sysctl --system
次に、それをターミナルに貼り付け、Enterキーを押して実行します。
技術的詳細:
Linuxのデフォルトでは、listenはinotifyを使用してディレクトリの変更を監視します。監視できるファイル数のシステム制限に遭遇することは珍しいことではありません。たとえば、Ubuntu Lucidの(64ビット)inotify制限は8192に設定されています。
次のコマンドを実行すると、現在のinotifyファイルの監視制限を取得できます。
$ cat /proc/sys/fs/inotify/max_user_watches
この制限がディレクトリ内のすべてのファイルを監視するのに十分でない場合、Listenが適切に機能するには、制限を増やす必要があります。
次のコマンドで一時的に新しい制限を設定できます。
$ Sudo sysctl fs.inotify.max_user_watches=524288
$ Sudo sysctl -p
制限を永続的にしたい場合は、次を使用します。
$ echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf
$ Sudo sysctl -p
Listenが不平を言い続ける場合、max_queued_eventsとmax_user_instancesの値に注意を払う必要がある場合もあります。
ソース: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
時計を増やす
その他の訪問 https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers