官网地址:https://hexo.io/zh-cn/

环境

1.node

2.git

安装 hexo

1
npm install -g hexo-cli

初始化 hexo

1
hexo init

工程配置

1
npm install

浏览器调试

1
2
hexo g
hexo s

主题安装

下载主题

1
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly

修改站点配置文件_config.yml,把主题修改为 Butterfly

1
theme: Butterfly

为便于后续平滑升级,在source目录下创建_data文件夹,将Themes/Butterfly目录下的 _config.yml复制一份到source/_data目录下,并改名为butterfly.yml
执行以下指令,以查看应用主题后的效果

1
2
hexo clean #清除旧的内容
hexo g #生成发布用的静态页面

错误处理

错误1:如果第一次操作,可能会报以下的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
C: B1og)hexo g
INFO Start processing
FATAL Something s wrong. Maybe you can find the solution here: https:l /hexo. io/ docs/ troub1 eshooting. htm1
Error: Cannot find module cheeri 0
Require stack :
C: B1 og themes But terflyscripts photo. js
at Functi on. Module._ reso1veF ilename (internal / modul es/cjs/loader. js:797:15)
at Functi on. Module._ load (internal 1 modul es/cjs/ loader. js:690:27)
at Module. require (internal 1 modul es/c js/loader. js:852: 19)
at require (C: B1og node_ modul es hexo)1ib hexolindex. js :280:23)
at Hexo. (anonymous) (C: B1og themes Butterfly scripts photo. js:5: 19)
at Hexo. tryCatcher (C: B1og node_ modul es b1uebirdljs release util. js:16:23)
at Hexo. (anonymous) (C: B1og node_ modul es b1uebirdljs release method. js:15 :34)
at C: B1 og node modul es hexo1ib extendlfilter. js:62:52
at tryCatcher (C: B1og node_ modul es b1uebirdljs release util. js:16:23)
at 0bject. gotValue (C: )B1og node_ modul es bluebird,js release reduce. js: 166:18)
at 0bject. gotAccum (C: B1og node_ modul es b1uebird,js release reduce. js: 155:25 )
at 0bject. tryCatcher (C: B1 og node_ modul es bluebirdljs releaseutil. js: 16:23)
at Promise. sett1 ePromi seF romHandler (C: B1og node_ modul es b1uebirdjs rel ease promi se. js:547:31)
at Promise. settlePromise (C: B1og node_ modul es bluebirdljs release promise. js :604: 18)
at Promise. settlePromi se0 (C: B1og node_ modul es bluebird,js rel ease promise. js :649: 10)
at Promise. settlePromises (C: B1og node_ modul es b1uebirdljs release promi se. js:729:18)
at_ drainQueueStep (C: B1 og node_ modul es b1uebirdkjs release async. js:93:12)
at drainQueue (C: B1og node_ modul es b1uebird,js release lasync. js:86:9)
at Async._ drainQueues (C: )B1 og node_ modul es bluebirdljs re1 ease lasync. js: 102:5)
at Immedi ate. Async. drainQueues [as onI mmediate] (C: B1og node_ modul es b1uebirdlisrelease)async. js:15:14)
at processImmediate (internal/ timers. js: 439:21)

解决方案

1
2
3
npm install cheerio@0.22.0 --save
hexo g
hexo s

错误2: hexo搭建博客过程中出现的问题,4000端口被占用

解决方案
可以在_config.yml内加上如下代码更改hexo-server运行时的端口号:

1
2
3
4
server:
port: 4001 #可以改为任意端口
compress: true
header: true

错误3:如果你沒有 pug 以及 stylus 的渲染器会报错

1
2
extends includes/layout.pug block content include ./includes/mixins/post-ui
.pug #recent-posts.recent-posts +postUI include includes/pagination.pug

解决方案

1
2
npm install hexo-renderer-pug hexo-renderer-stylus --save
npm install hexo-deployer-git --save / yarn add hexo-deployer-git

再次依次执行

1
2
3
hexo clean
hexo g
hexo s