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

2022/02/18

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

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 配置中对于代码背景使用了这个 =

# _config.next.yml
codeblock :
  # Code Highlight theme
  # All available themes : https://theme-next.js.org/highlight/
  theme :
    light : default
    dark : tomorrow-night

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

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

# _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 就运行正常了。

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