hexo -s的时候出现了报错

1
2
3
4
5
6
7
8
9
10
11
12
INFO  Start processing
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: watch /home/zhou/Documents/hexo-zhzh/source/_posts/gitkraken-can-not-open.md ENOSPC
at _errnoException (util.js:1022:11)
at FSWatcher.start (fs.js:1382:19)
at Object.fs.watch (fs.js:1408:11)
at createFsWatchInstance (/home/zhou/Documents/hexo-zhzh/node_modules/chokidar/lib/nodefs-handler.js:37:15)
at setFsWatchListener (/home/zhou/Documents/hexo-zhzh/node_modules/chokidar/lib/nodefs-handler.js:80:15)
at FSWatcher.NodeFsHandler._watchWithNodeFs (/home/zhou/Documents/hexo-zhzh/node_modules/chokidar/lib/nodefs-handler.js:228:14)
at FSWatcher.NodeFsHandler._handleFile (/home/zhou/Documents/hexo-zhzh/node_modules/chokidar/lib/nodefs-handler.js:255:21)
at FSWatcher.<anonymous> (/home/zhou/Documents/hexo-zhzh/node_modules/chokidar/lib/nodefs-handler.js:473:21)
at FSReqWrap.oncomplete (fs.js:153:5)

错误原因

根据提示,去官方文档查了一下ENOSPC

ENOSPC 错误 (Linux)
运行 $ hexo server 命令有时会返回这样的错误:

1
Error: watch ENOSPC ...

它可以用过运行 $ npm dedupe 来解决,如果不起作用的话,可以尝试在 Linux 终端中运行下列命令:

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

也就是用来提高监视(watch)的文件数量上限

构建网站的时候用到了gulp.js,gulp的watch需要监听很多文件的改动,但是ubuntu系统的文件句柄其实是有限制的,因此提高上限就OK了,之前没有出现这个问题,可能是因为之前文件还少,现在文章多了图片也多了,就出现了这样的问题