修复 Github Action 无法构建 Hexo 博客
挺长时间没有通过 Github Action 编译过 Hexo 博客,为了更好搭配Github Publisher使用,今天重新打开 action,运行过程中报了下面几个错误,导致无法产出正常的静态文件。
问题一:Error: Cannot find module ‘@remy/webmention/lib/webmention’
找不到插件,暂时也没有使用这个插件。直接删除对这个包的依赖。npm uninstall hexo-console-webmention --save
问题二: TypeError: require(…) is not a function
报错:
1 | [7](https://github.com/xiang578/blog-source/actions/runs/8553722187/job/23437478940#step:9:8)Inferno is in development mode. |
现在使用主题是 hexo-theme-icarus
,开发者今天二月份回复 issues 使用源码安装主题报错 · Issue #1270 · ppoffice/hexo-theme-icarus (github.com)指出 hexo-log 4.0含有不兼容的升级。
- 由于用的是自己 clone 的版本,参考开发者的修复代码 chore: update to hexo 7 · ppoffice/hexo-theme-icarus@b1962d7 (github.com)将整个主题中的
const logger = require('hexo-log')();
替换成const createLogger = require('hexo-log');const logger = typeof createLogger === "function" ? createLogger() : createLogger.default();
,大约有 11 处。 - 另外也需要修改主题的
package.json
我直接复制这个链接 hexo-theme-icarus/package.json at b1962d7257c566ea647ac1fd477c5f9df4774ee4 · ppoffice/hexo-theme-icarus (github.com) 里面的内容替换原始文件。
问题三:Error: Cannot find module ‘hexo/lib/plugins/helper/date’
旧的依赖已经删除,需要把主题代码中 require('hexo/lib/plugins/helper/date');
改成 require('hexo/dist/plugins/helper/date');
。
修复上面三个问题,action 又可以正常生成静态网页。用了 Hexo 快 10 年,经常遇到这些糟心的问题,感觉是时候离开了。
修复 Github Action 无法构建 Hexo 博客
https://blog.xiang578.com/note/fix-github-action-build-error.html