一招解决hexo博客出现 "feed: ^

2020-04-06  本文已影响0人  KangSmit的算法那些事儿

《一招解决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中去。

image.png
上一篇下一篇

猜你喜欢

热点阅读