Hexo 搭建博客 本地运行 常见报错及解决办法

作为一名在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

这时候重新启动本地服务在访问。

方法二 亲测有效

创建一个空文件夹,

依次执行如下命令就行:

npm install hexo-cli -g

hexo init projectName(你的项目文件名)

git clone 项目到空文件夹下(一定要先hexo init 再 git clone 项目)

cd projectName

npm install

hexo server

 

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文件。 


就像这样

 

posted @ 2017-06-08 18:43  FEDeveloper  阅读(3246)  评论(0编辑  收藏  举报