运行多年的Github Pages未修改style.scss却出现构建报错是什么原因
报错原因
本地SCSS检查工具报错
你本地使用普通SCSS语法检查工具触发的expected 1 selector or at-rule, was "---"报错,不属于代码问题:
style.scss开头的两行---是Jekyll的Front Matter分隔符,仅用于告知Jekyll需要预处理该文件,不属于SCSS原生语法。普通SCSS检查工具不会识别Jekyll的前置处理逻辑,直接校验全量文件内容就会抛出该错误,该报错可以忽略。
Github Pages后台构建报错
后台抛出的File to import not found or unreadable: cayman才是构建失败的根本原因:
Github Pages近年调整了内置主题的加载逻辑,搭配近期Jekyll版本更新后,旧版@import "{{ site.theme }}"的动态主题导入方式不再兼容,构建时无法定位到cayman主题的sass文件路径,导致导入失败。
解决方法
- 首先保留文件开头的两行
---,这是Jekyll预处理的必须标识,不能删除 - 将原有的
@import "{{ site.theme }}"替换为固定导入语句@import "cayman.scss";,大部分场景下即可正常加载内置主题样式 - 如果替换后仍报错,在站点的
_config.yml中添加明确的远程主题配置:
指定固定版本的cayman主题,避免最新版本的兼容性问题remote_theme: pages-themes/cayman@v0.2.0 - 若以上方案都无效,可以直接将cayman主题
_sass目录下的所有文件拷贝到本地站点的对应目录,完全脱离远程主题加载,就不会出现导入路径找不到的问题
内容的提问来源于stack exchange,提问作者MikeS159
相关产品推荐
相关产品推荐

