出现问题的原因:Node.js 官方API:fs.SyncWriteStream
这个API在v8.0.0中已经废弃了,但是仍然可以使用,就是如果使用可能会出现类似警告。到v11.0.0版本才结束生命周期,也就是说如果再引用就会直接报错,而不仅仅是警告。
这只是一个警告
首先我们可以从字面上理解:废弃警告,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 hexo-deployer-git@0.3.1 --save
,或者更新到现在的最新版2.0.0
。
其他插件问题–通用处理方法
上面提到的这个插件,好像是谈到最多的插件。但是如果这个插件已经更新到了0.3.1
版本之后,还会出现这个问题,那就说明是还有其他插件还引用了这个已经被废弃的API,我们可以通过debug模式查看是哪个插件的问题,比如我的:
1 | $ hexo s --debug |
我们可以看到是hexo-admin
这个插件出现了问题,那么怎么处理呢?一般只需要将该插件更新到最新版就可以了,如果发现还没有处理问题,说明该插件没有处理这个警告,那么只能是到github仓库提issue或者pr了。
参考:
- hexo(四)DeprecationWarning: fs.SyncWriteStream is deprecated
- https://blog.csdn.net/resilient/article/details/86430228
发布时间: 2019-11-12
最后更新: 2019-11-12
本文标题: Hexo.[DEP0061] DeprecationWarning. fs.SyncWriteStream is deprecated
本文链接: https://www.yansheng.xyz/article/472a762d.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
