《一招解决hexo博客出现 feed: ^ at generateError (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:167:10)....的错误问题》
一、问题描述
出现错误的原因:
翻译开头:
FATAL无法读取块映射条目; 在第96行第5列中,多行键可能不是隐式键:
饲料:
^
YAMLException:无法读取块映射条目; 在第96行第5列中,多行键可能不是隐式键:
饲料:
kangs@DESKTOP-TJ06OQ5 MINGW64 /e/hexo
$ hexo clean && hexo g && hexo d
FATAL can not read a block mapping entry; a multiline key may not be an implicit key at line 96, column 5:
feed:
^
YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 96, column 5:
feed:
^
at generateError (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:167:10)
at throwError (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:173:9)
at readBlockMapping (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:1073:9)
at composeNode (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:1359:12)
at readDocument (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:1519:3)
at loadDocuments (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:1575:5)
at Object.load (E:\hexo\node_modules\js-yaml\lib\js-yaml\loader.js:1596:19)
at Hexo.yamlHelper (E:\hexo\node_modules\hexo\lib\plugins\renderer\yaml.js:7:15)
at Hexo.tryCatcher (E:\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Hexo.<anonymous> (E:\hexo\node_modules\bluebird\js\release\method.js:15:34)
at E:\hexo\node_modules\hexo\lib\hexo\render.js:75:22
at tryCatcher (E:\hexo\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (E:\hexo\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (E:\hexo\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (E:\hexo\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (E:\hexo\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (E:\hexo\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (E:\hexo\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (E:\hexo\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (E:\hexo\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:456:21)
二、问题原因
这个问题是由于在配置_config.yml文件的过程中没有严格按照规定的格式。
①在": "后面必须要加一个空格;
②在type,repo,branch前面加两个空格或一个水平制表符(Tab键)。
三、问题解决
方法一:传统方法(太麻烦),弄不好都要排查
根据问题原因进行修改正确写法:
deploy:
type: git
repo: https://github.com/webysx/webysx.github.io.git
branch: master
或
deploy:
type: git
repo: https://github.com/webysx/webysx.github.io.git
branch: master
方法二:一招制敌(我推荐此方法,前提是你有备份的_config.yml)
将备份的博客目录下的配置文件_config.yml替换原hexo博客目录下的_config.yml即可。
(切记:不是主题配置下的_config.yml文件),
下面是我成功的截图:(建议先读文章末尾的友情提示,以防万一)
image.png友情提示:
备份的博客目录下的_config.yml配置可能与你最新的目录配置不同(可能展示博客网页的时候文字上有点差别),因此建议你先把原来出现问题的_config.yml配置文件改名,这样就能打开两个文件进行对比填写。
比如我的就是这样的:
- _config.yml是以前备份的
- _config.yml2是出现以上错误的配置
我把他先改名的原因是它里面可能有需要的内容,对比之后可以搬运到_config.yml中去。
image.png
网友评论