Windows hexo本地部署(上传github前准备)
在开始之前,先声明hexo的自带文档可以解决大部分问题,下面有个人在运用官方文档部署时遇到的问题以及思考。
安装hexo以及本地测试
在安装好node.js和git环境,注册好github之后,就可以安装hexo了。
在[hexo官网][https://hexo.io/zh-cn/]的官方文档界面里有给出以下命令:
$ npm install hexo-cli -g
上面的指令是安装最新版的hexo-cli
。
解释一下hexo-cli
是什么:其实尾缀CLI
就是Command Line Interface
也即是命令行。我们只需要下载一个hexo-cli
,在后面我们初始化hexo init
和安装依赖npm install
的时候,其实就会下载hexo
的。
对于熟悉 npm 的进阶用户,可以仅局部安装 hexo
包。
$ npm install hexo
本人选择的是npm install hexo-cli -g
,-g
代表着global
,代表着安装在全局环境。安装完成后给出以下提示:
added 59 packages, and audited 60 packages in 23s
15 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New major version of npm available! 8.19.2 -> 9.4.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.4.1
npm notice Run npm install -g npm@9.4.1 to update!
npm notice
安装完后在C:\Users\Username\AppData\Roaming\npm
会显示你安装的内容,其中username是你的用户名。
个人认为局部(本地)安装也是很有必要的。这可以避免了不同程序依赖不同版本包的冲突;减少了包开发者API的兼容性的问题;缺点是会出现一个包安装多次的情况。
官方文档给出了以下意见:
安装以后,可以使用以下两种方式执行 Hexo:
npx hexo <command>
- 将 Hexo 所在的目录下的
node_modules
添加到环境变量之中即可直接使用hexo <command>
:.
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile
个人觉得在hexo部署到这一阶段了解该功能即可。
创建hexo所需文件
安装完成后,在你喜爱的文件夹下(如 H:\hexo ),执行以下指令(在 H:\hexo内点击鼠标右键,选择 Git bash ),Hexo 即会自动在目标文件夹建立网站所需要的所有文件。
hexo init
同时hexo官网给出的文档建议是:
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install
新建完成后,指定文件夹的目录如下:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
在这里我遇到了一个错误,即在非空文件夹下执行hexo init文件。原因也很简单,因为之前在此文件夹进行了$ git init
。我认为git init 和hexo init 在某种程度上会有冲突,但是在哪部分会有冲突,因为技术不足无法理解。
解决问题方法也很简单,清空文件夹里的内容再进行hexo init
即可。
然后继续踩坑:出现了以下报错:
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
fatal: unable to access 'https://github.com/hexojs/hexo-starter.git/': OpenSSL S
SL_read: Connection was reset, errno 10054
产生原因:一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错
网上有两种解决办法:
**域名查询法:**通过域名查询,找到github.com
的ip地址。
之后找到电脑的host.ics
将复制的地址添加进去之再次hexo init
即可解决(笔者的解决方法)。
简单粗暴法命令法:
git config --global http.sslVerify "false"
- 优点:方便快捷,复制粘贴即可。
- 缺点:每次上传代码都要这样来一次。(笔者暂未尝试)
之后会给出如下提示:
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO Install dependencies
INFO Start blogging with Hexo!
再检查文件夹,就显示初始化好的部分了:
接下来进行的命令是:
npm install --安装npm依赖包
hexo generate --生成静态页面
hexo server --生成本地服务
相关给出的提示行不再给出。
至此,hexo的本地部署已经结束,现在可以尝试将它部署在github上了。
在此之前,给出简单的hexo命令:
hexo generate --生成个人博客所需的静态页面
hexo server --本地预览
hexo deploy --部署我们的个人博客
hexo clean --清除缓存
将它部署在github上了。
在此之前,给出简单的hexo命令:
hexo generate --生成个人博客所需的静态页面
hexo server --本地预览
hexo deploy --部署我们的个人博客
hexo clean --清除缓存
到此为止,hexo的本地部署就大概ok了,更改主题等行为可以之后在本地做完后进行上传。