About tomorrow-night codeblock, a problem when updating my blog

前言: 晚上更新了一篇博客的部分内容,推送到远程仓库后,发现 actions 运行失败了,日志这样显示的:

1
2
3
4
5
INFO  Start processing
41
FATAL {
42
err: Error: ENOENT: no such file or directory, open '/home/runner/work/xxx/xxx/node_modules/highlight.js/styles/tomorrow-night.css'

因为是 file not found 之类的报错,第一反应是之前依赖升级导致的(之前仓库的bot自动发起了PR),升级后这个文件被删除了。

然后将版本号改成4.0.0后更新到了远程仓库,action 运行后还是同样的报错。

之后又重新看了下日志,里面主要是因为找不到名为xx的文件导致运行失败的,就试着在本地仓库搜索了下这个文件名称,后来发现我在hexo配置中对于代码背景使用了这个:

1
2
3
4
5
6
7
# _config.next.yml
codeblock:
# Code Highlight theme
# All available themes: https://theme-next.js.org/highlight/
theme:
light: default
dark: tomorrow-night

这里默认的代码块是使用的这个样式。
然后我又去博客使用的next仓库里去找了下,发现了之前的一个提交

这里将默认的代码块给修改了。

1
2
3
4
5
6
7
8
# _config.next.yml
codeblock:
# Code Highlight theme
# All available themes: https://theme-next.js.org/highlight/
theme:
light: default
- dark: tomorrow-night
+ dark: stackoverflow-dark

修改完后更新到远程后,此时的action就运行正常了。

所以说以后使用官方的主题,克隆使用的时候还是需要带有版本号的,不然总是会使用最新的,可能自己使用时的一些依赖,最新版本会进行删减,这个时候出问题的几率就会增加,所以克隆时添加一个版本号限制较好。