为什么我得到等待…致命错误:当我运行观察任务时观察ENOSPC ? 我该如何解决这个问题?


当前回答

任何时候你需要运行sudo某事…为了解决问题,你应该停下来想想发生了什么。虽然这里公认的答案是完全有效的,但它只是治标不治本。这就相当于买了更大的马鞍袋来解决问题:错误,不能把更多的垃圾装在小马身上。小马已经装了这么多垃圾,快累晕了。

另一种选择(可能类似于从小马身上取出多余的垃圾并将其放入垃圾场)是运行:

npm dedupe

然后恭喜你自己让小马开心了。

其他回答

在做了一些研究后找到了解决方案。运行如下命令。

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

对于Arch Linux,将这一行添加到/etc/sysctl.d/99-sysctl.conf:

fs.inotify.max_user_watches=524288

在我的例子中,它与运行在我的Linux机器上的vs-code有关。我忽略了弹出的关于文件监视之类的警告。解决方案在linux的vs-code文档页面https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc

解决方案与公认的答案几乎相同(如果不相同),只是对那些在vs-code中遇到问题的人有更多的解释。

任何时候你需要运行sudo某事…为了解决问题,你应该停下来想想发生了什么。虽然这里公认的答案是完全有效的,但它只是治标不治本。这就相当于买了更大的马鞍袋来解决问题:错误,不能把更多的垃圾装在小马身上。小马已经装了这么多垃圾,快累晕了。

另一种选择(可能类似于从小马身上取出多余的垃圾并将其放入垃圾场)是运行:

npm dedupe

然后恭喜你自己让小马开心了。

在我的例子中,我发现我有一个激进的Vim插件,只需重新启动它。

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

在上面的回答中描述的对/etc/sysctl.conf的补充解决了这个问题,但是通过ps aux | grep节点找到我的旧进程并杀死它也很重要。