事故:
在linux
操作系统使用vue脚手架,使用指令 yarn dev
启动项目不成功,发生 Error: ENOSPC: System limit for number of file watchers
错误 。
原因:
是由于文件监视程序的系统产生了限制,达到了默认的上限,需要增加限额。
inotify
inotify 是 Linux 内核 2.6.13 (June 18, 2005) 版本新增的一个子系统(API),它提供了一种监控文件系统(基于 inode 的)事件的机制,可以监控文件系统的变化如文件修改、新增、删除等,并可以将相应的事件通知给应用程序。几乎所有的主流 Linux 发行版都支持 Inotify 机制。
解决:
指令查看限额
sysctl fs.inotify
fs.inotify.max_queued_events = 16384 # Inotify管理的队列的最大长度
fs.inotify.max_user_instances = 128 # 每个用户所能创建的Inotify实例的上限
fs.inotify.max_user_watches = 65536 # 每个Inotify实例最多能关联几个监控 (watch)
指令永久增加限额
sudo vim /etc/sysctl.conf
# 在最后面加入
fs.inotify.max_user_watches=524288
# 保存后退出
# 之后运行命令
sudo sysctl -p