fs.SyncWriteStream is deprecated
出现这个错误需要更新hexo-fs插件
使用
npm install hexo-fs –save
在执行hexo命令的时候,总会显示如下报错:
(node:7048) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.
从报错信息来看是因为fs.SyncWriteStream is deprecated,node.js从8.0开始已经弃用了fs.SyncWriteStream方法,所以是因为我们node_modules中某个插件调用了这个方法,通过查看Hexo作者GitHub对应的项目,在issue中看到有人提到这个问题,在hexo项目中其中有一个hexo-fs的插件调用了这个方法,所以需要更新hexo-fs插件,更新方法如下:
npm install hexo-fs –save
更新插件后问题依然无法解决。
通过–debug来查看:
[root@server init]# hexo –debug
06:55:32.711 DEBUG Hexo version: 3.5.0
06:55:32.714 DEBUG Working directory: /data/wwwroot/init/
06:55:32.787 DEBUG Config loaded: /data/wwwroot/init/_config.yml
06:55:32.832 DEBUG Plugin loaded: hexo-admin
(node:25414) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.
问题出在:hexo-admin的hexo-fs
因hexo-admin作为后台管理,无法npm uninstall hexo-admin卸载,则找到对应文件,注释:
[root@server init]# grep -irn “SyncWriteStream” ./node_modules/hexo-admin/
./node_modules/hexo-admin/node_modules/hexo-fs/lib/fs.js:718:exports.SyncWriteStream = fs.SyncWriteStream;
[root@lywserver init]#
将对应的exports.SyncWriteStream = fs.SyncWriteStream;注释(前面 //)即可!