错误"已达到inotify手表的用户限制"。 ExtReact构建

时间:2017-11-02 12:44:50

标签: extjs sencha-cmd

我安装了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"

如何解决此错误?

4 个答案:

答案 0 :(得分:5)

为什么?

用于同步文件(例如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键运行它。


技术细节:

Listen在Linux上默认使用inotify监视目录中的更改。遇到可以监视的文件数量受到系统限制的情况并不少见。例如,Ubuntu Lucid(64位)的inotify限制设置为8192。

您可以通过执行以下操作来获取当前的inotify文件监视限制:

$ cat /proc/sys/fs/inotify/max_user_watches

如果此限制不足以监视目录中的所有文件,则必须增加该限制以使“侦听”正常工作。

您可以使用以下方法临时设置新的限制:

$ 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

答案 1 :(得分:2)

我通过编辑/etc/sysctl.conf解决了这个问题。到我添加的文件

fs.inotify.max_user_watches=100000

答案 2 :(得分:1)

在Linux Mint上, 运行此命令,一切顺利

echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

答案 3 :(得分:0)

增加手表

  • cat / proc / sys / fs / inotify / max_user_watches
  • sudo vim /etc/sysctl.conf
  • 将此行添加到文件末尾:  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

其他访问 https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers