Grunt手表错误 – 正在等待…致命错误:观看ENOSPC

为什么我要Waiting...Fatal error: watch ENOSPC当我运行手表任务时, Waiting...Fatal error: watch ENOSPC ? 我如何解决这个问题?

谢谢jonshf您的意见。

做了一些研究后find了解决办法。 运行下面的命令。

 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 

任何时候,你需要运行sudo something ...来解决一些问题,你应该暂停思考发生了什么事情。 虽然这里接受的答案是完全有效的,但它是在治疗症状而不是问题。 分拣相当于买更大的马鞍来解决问题:错误,不能在马上加载更多的垃圾。 小马已经装满了这么多的垃圾,小马昏厥过度了。

另一种方法(或许可以把小马从垃圾堆中取出)放在一起,

 npm dedupe 

那就恭喜你让小马开心。

在尝试手榴弹的答案后,您可以使用一个临时修复:

 sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches' 

这和kds的答案一样 ,但是没有坚持修改。 如果错误发生在系统正常运行一段时间后才有用。

我的客户端电脑崩溃后,我遇到了这个错误,我在服务器上运行的jest --watch命令仍然存在,我试图再次运行jest --watch

在上面的答案中描述的/etc/sysctl.conf中添加了解决这个问题的方法,但是通过ps aux | grep node ps aux | grep nodekill它。

要找出谁在做inotify 实例 ,试试这个命令( source ):

 for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr 

矿看起来像这样:

  25 /proc/2857/fd/anon_inode:inotify 9 /proc/2880/fd/anon_inode:inotify 4 /proc/1375/fd/anon_inode:inotify 3 /proc/1851/fd/anon_inode:inotify 2 /proc/2611/fd/anon_inode:inotify 2 /proc/2414/fd/anon_inode:inotify 1 /proc/2992/fd/anon_inode:inotify 

使用ps -p 2857 ,我能够将进程2857识别为sublime_text 。 只有closures所有崇高的窗口后,我才能够运行我的节点脚本。