作为一名在hexo方面的新手,我在使用hexo编辑文档时遇到了很多问题,hexo generate
编译的时候遇到了各种错误。
在此将这些错误及其解决方案记录下来,以便日后查证之用,同时,也可给各位在遇到类似问题时提供一点参考。
1.执行命令hexo server,提示:Usage: hexo …. 提示找不到该指令
解决方法,在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下:npm install hexo-server –save 安装此server后再试,问题解决。
2.
执行:hexo server,启动了服务,在浏览器输入本地地址访问,看到白板和Cannot GET / 几个字
原因是由于2.6以后就更新了,我们需要手动配置些东西,我们需要输入下面三行命令:
npm install hexo-renderer-ejs--save
npm install hexo-renderer-stylus--save
npm install hexo-renderer-marked--save
这时候重新启动本地服务在访问。
或者: 在空文件夹下,执行hexo init -- npm install
3.localhost:4000 端口被占用,可执行 hexo s -p 5000 修改成5000 端口
4.YAMLException: end of the stream or a document separator is expected at line x, column y:
错误说明
缺少分隔符,一般都是因为缺少空格
解决方案
(1)出现这种情况,一般都是缺少空格,在:
冒号之后要有空格!检查x行y列附近的冒号,其之后是否跟了空格。
(2)仔细检查_config.yml
文件中所有冒号后面的空格,格式很严格,必须是只有一个,半角。不管是多了还是少了都会报错,这是yml解释器所定义的语法。如果不确定的话,将输入法调整到英文模式,删除所有冒号后面的空格重新输入,不要使用Tab。
5.ValidationError: ‘null’ is not a string!
错误说明
一般都是因为文章无内容,可能是因为在这篇博客文章中,有某些属性没有填写,比如author属性,tag属性,categories属性等,导致该属性是空的,即null
,所以报错。
友情提示:如果你是用MarkdownPad 2来进行博文写作,可能在打开该md文件之后,对文件名进行了修改,导致出现了两篇文章。就会出现错误。
解决方案
既然是属性缺失,那就把为空的那个属性给补上吧,仔细找找
6.执行hexo g命令后,报错:incomplete explicit mapping pair; a key node is missed
解决方案:
主题目录下所有yml文件中所有有空格的字段都用双引号括起来,尤其注意languages下面的yml文件。