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 node
并kill
它。
要找出谁在做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所有崇高的窗口后,我才能够运行我的节点脚本。