为什么我得到等待…致命错误:当我运行观察任务时观察ENOSPC ? 我该如何解决这个问题?
当前回答
在我的例子中,我发现我有一个激进的Vim插件,只需重新启动它。
其他回答
在我的例子中,我发现我有一个激进的Vim插件,只需重新启动它。
在做了一些研究后找到了解决方案。运行如下命令。
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
任何时候你需要运行sudo某事…为了解决问题,你应该停下来想想发生了什么。虽然这里公认的答案是完全有效的,但它只是治标不治本。这就相当于买了更大的马鞍袋来解决问题:错误,不能把更多的垃圾装在小马身上。小马已经装了这么多垃圾,快累晕了。
另一种选择(可能类似于从小马身上取出多余的垃圾并将其放入垃圾场)是运行:
npm dedupe
然后恭喜你自己让小马开心了。
在尝试手榴弹的答案后,你可以使用一个临时修复:
sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'
这与kds的答案相同,但是没有持久化更改。如果错误在系统运行一段时间后才发生,这是很有用的。
在我的客户端PC崩溃后,我遇到了这个错误,我在服务器上运行的jest——watch命令仍然存在,我试图再次运行jest——watch。
在上面的回答中描述的对/etc/sysctl.conf的补充解决了这个问题,但是通过ps aux | grep节点找到我的旧进程并杀死它也很重要。
推荐文章
- NPM清洁模块
- 在Node.js中加载基本HTML
- Node.js和CPU密集型请求
- 为什么在节点REPL中没有定义__dirname ?
- 在Node.js中克隆对象
- Node.js中的process.env.PORT是什么?
- js的Mongoose.js字符串到ObjectId函数
- ELIFECYCLE Node.js错误是什么意思?
- 如何完全卸载Ubuntu中的nodejs, npm和node
- 在猫鼬模式中添加created_at和updated_at字段
- 我如何把变量javascript字符串?
- 如何强制tsc忽略node_modules文件夹?
- NPM全局安装“无法找到模块”
- MongoDB和Mongoose的区别
- 如何使用Express.js指定HTTP错误码?