错误“已达到inotify手表的用户限制”,ExtReact构建

e37o9pze  于 2022-09-26  发布在  React
关注(0)|答案(4)|浏览(248)

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

如何修复此错误?

b5buobof

b5buobof1#

为什么

同步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

当此限制不足以监视目录内的所有文件时,必须增加此限制才能使侦听正常工作。
您可以通过以下方式设置新的临时限制:

$ 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

lskq00tm

lskq00tm2#

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

fs.inotify.max_user_watches=100000
7lrncoxx

7lrncoxx3#

在Linux mint上,运行此命令即可

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

lyr7nygr4#

增加手表数量

  • 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

相关问题