记一次Hexo博客404问题排查

这一整年工作一直很忙,github/博客一直没有更新、搭理。前段时间整理产出了一篇工作上的积累 项目图片优化使用WEBP 像往常一样 hexo g & hexo d 一条龙生成+部署,就没有管它。

最近重新拾起,访问了一下blog,发现居然是空白页。刷新了数次、使用无痕再重新hexo g & hexo d,还是空白。这是怎么回事呢,意味着上次更新完博客,一直处于“挂了“的状态

排查&定位

然后在本地重新hexo g(hexo generate) 查看 public文件夹下生成的html,发现都是空文件,0 bytes。问题找到了 generate 这一步出现了问题。

Hexo这边最近这一年是没有升级的,通过Google大法找到了相关问题的issuehexo generates empty files #4267

简单说就是 本机的hexo版本(3.90)不支持node14.x以上的版本。hexo@3.9.0(现在已经6.3.0), node模糊记忆年中升级过一次 现在是 v14.17.6(其实也算老版本了,现在LTS已经18.12.1)

解决

找到问题根因 无非两种方式 一种是降级node版本 还有一种是整体升级

降级Node

首先尝试第一种,之前有装过nvm(node版本管理工具),一键安装切换到 12.14.0

nvm install 12.14.0
nvm use 12.14.0

hexo clean清空之前的生成物,重新 hexo g

再次查看public文件夹生成物:

index.html 已经正常生成,hexo d, 再次打开blog 网站恢复

升级Node + Hexo

降级方式验证通过,可行 + 简单。再来试一下升级方案

### node使用最新稳定版本
nvm use 18.12.1
### 全局更新一下 hexo-cli
npm i hexo-cli -g

升级hexo

升级前:

npm update

升级后:

hexo g

一切顺利 生成index.html, hexo d 顺利部署,没有遇到网上说的问题一切顺利~YES

END

読んでくれてありがとう~