Jekyll构建GitHub Pages报错:未用Sass仍触发Scss转换目录不存在错误
故障根因
这个错误和你自己有没有写Sass代码没有直接关系,核心触发逻辑如下:
- 构建日志第一行显示
Configuration file: none,说明你的仓库对应发布源目录下没有_config.yml配置文件,GitHub Pages构建流程加载了默认配置,默认将docs目录作为站点根目录 - 当前构建自动启用了默认主题
jekyll-theme-primer,这个主题本身自带assets/css/style.scss样式文件,构建时会自动调用SCSS转换器编译这个主题内置文件,不需要你手动写Sass代码 - SCSS转换器执行编译前需要切换工作目录到站点根目录,也就是默认配置指定的
/github/workspace/docs,但你的仓库里根本不存在这个目录,直接触发目录不存在的Errno::ENOENT报错
排查解决步骤
按顺序操作即可:
- 第一步:确认发布源配置
打开仓库的Settings > Pages页面,查看Source板块的发布路径配置:- 如果你打算直接用仓库根目录存站点文件,就把发布路径改成
/ (root) - 如果你打算把站点文件统一存在docs文件夹下,就在仓库根目录新建一个命名为
docs的空文件夹
- 如果你打算直接用仓库根目录存站点文件,就把发布路径改成
- 第二步:补全基础配置文件
在你选定的站点根目录(要么是仓库根目录,要么是你刚建的docs目录)下新建_config.yml文件,写入最基础的主题配置即可:
加了这个文件后,构建时就不会加载空配置乱匹配路径theme: jekyll-theme-primer - 第三步:校验目录结构
确认你所有的站点文件(页面、资源、配置)都放在你选定的发布源目录下,不要出现配置指向的目录和实际文件存放目录不一致的情况 - 第四步:重新触发构建
提交改动推送到对应发布分支,或者在Pages设置页手动触发一次构建,查看最新构建日志,确认不再出现找不到docs目录的报错即可
补充说明:所有基于Jekyll的主题,不管是官方默认还是第三方主题,几乎都内置了SCSS格式的样式文件,只要启用主题,构建流程就会自动调用SCSS转换器处理这部分文件,和你自己有没有写Sass代码无关。
内容的提问来源于stack exchange,提问作者Cliff
相关产品推荐
相关产品推荐

