Hexo:[DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.

这只是一个警告

首先我们可以从字面上理解:废弃警告,fs.SyncWriteStream 已经被废弃了。注意是警告,而不是错误,不影响程序运行,因此其实我们可以不予理会。

如果你非要处理,参考下文。

始末

出现问题的原因

Node.js官方API:fs.SyncWriteStream类从来就不是一个公共可访问的API,现在已经被删除了。没有其他可用的API。请使用一个用户空间替代方案。 这个API在v8.0.0中已经废弃了,但是仍然可以使用,就是如果使用可能会出现类似警告。到v11.0.0版本才结束生命周期,也就是说如果再引用就会直接报错,而不仅仅是警告。

详见:http://nodejs.cn/api/deprecations.html#deprecations_dep0061_fs_syncwritestream,或者下面的截图:
在这里插入图片描述

处理这个问题

hexo-deployer-git插件问题

在hexo的github里面有谈到这个问题:https://github.com/hexojs/hexo/issues/2598,然而我发现这个issue的发布日期是2017,已经过去挺久的了。里面提到的主要是hexo核心插件:hexo-deployer-git的问题,这个插件还引用了这个废弃的API,详见https://github.com/hexojs/hexo/issues/2598#issuecomment-318248764。因此该插件进行了更新
https://github.com/hexojs/hexo-deployer-git/releases,v0.3.1这个版本就是更新这个问题的,更新日期也是2017年。在这里插入图片描述
因此如果你是这之后安装的,应该已经是这以后的版本了,这个插件已经不会出现该问题了。(注:你可以到\Hexo\package.json去看插件版本)

如果你是在这个时间之前安装的,可以使用下面命名更新插件:npm install [email protected] --save,或者更新到现在的最新版2.0.0

其他插件问题–通用处理方法

上面提到的这个插件,好像是谈到最多的插件。但是如果这个插件已经更新到了0.3.1版本之后,还会出现这个问题,那就说明是还有其他插件还引用了这个已经被废弃的API,我们可以通过debug模式查看是哪个插件的问题,比如我的:

$ hexo s --debug
02:34:07.422 DEBUG Writing database to H:\Hexo/db.json
02:34:07.494 DEBUG Hexo version: 3.9.0
02:34:07.496 DEBUG Working directory: H:\Hexo\
02:34:08.261 DEBUG Config loaded: H:\Hexo\_config.yml
02:34:08.561 DEBUG Plugin loaded: hexo-baidu-url-submit
02:34:08.596 DEBUG Plugin loaded: hexo-deployer-git
02:34:08.971 DEBUG Plugin loaded: hexo-abbrlink
02:34:08.988 DEBUG Plugin loaded: hexo-generator-archive
02:34:09.017 DEBUG Plugin loaded: hexo-generator-baidu-sitemap
02:34:09.028 DEBUG Plugin loaded: hexo-generator-category
02:34:09.042 DEBUG Plugin loaded: hexo-generator-index
02:34:09.062 DEBUG Plugin loaded: hexo-generator-feed
02:34:09.474 DEBUG Plugin loaded: hexo-generator-json-content
02:34:09.491 DEBUG Plugin loaded: hexo-generator-sitemap
02:34:09.506 DEBUG Plugin loaded: hexo-generator-tag
02:34:10.537 DEBUG Plugin loaded: hexo-neat
02:34:10.540 DEBUG Plugin loaded: hexo-renderer-stylus
02:34:10.556 DEBUG Plugin loaded: hexo-renderer-ejs
02:34:10.940 DEBUG Plugin loaded: hexo-admin
(node:9248) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.
02:34:10.945 DEBUG Plugin loaded: hexo-renderer-markdown-it

我们可以看到是hexo-admin这个插件出现了问题,那么怎么处理呢?一般只需要将该插件更新到最新版就可以了,如果发现还没有处理问题,说明该插件没有处理这个警告,那么只能是到github仓库提issue或者pr了。

参考:

发布了132 篇原创文章 · 获赞 149 · 访问量 19万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章