GitHub Pages发布Jekyll站点遇Scss转换错误:目录不存在
解决方案
1. 对齐仓库目录与GitHub Pages设置
若要让GitHub Pages直接从根目录构建Jekyll站点:
- 进入仓库设置 → GitHub Pages → 构建和部署,选择分支为
main、文件夹为/root。 - 检查根目录是否存在
.nojekyll文件,若有则删除(该文件会让GitHub Pages跳过Jekyll构建,仅发布静态文件,导致只显示readme.md)。 - 确认根目录包含完整Jekyll结构:
_config.yml、index.md、assets等关键文件,且_config.yml的exclude名单未误包含必要文件。
- 进入仓库设置 → GitHub Pages → 构建和部署,选择分支为
若要本地构建静态文件后发布docs目录:
- 在本地
_config.yml中设置destination: docs,运行jekyll build将静态产物生成到docs目录。 - 将docs目录下的所有静态文件(HTML、CSS、JS等)提交至仓库(不要在
.gitignore中忽略docs)。 - 进入仓库设置 → GitHub Pages,选择分支为
main、文件夹为/docs。 - 确保docs目录中无Jekyll源文件(如
.scss、_config.yml),避免GitHub Pages重复构建引发错误。
- 在本地
2. 修复SCSS路径问题(docs作为Jekyll源时)
- 确保docs目录复制了完整的Jekyll源文件结构(包括
_config.yml、assets/css/style.scss等)。 - 检查
style.scss中的@import路径,使用相对于docs目录的相对路径(比如同目录文件直接写@import "variables";,而非根目录绝对路径)。 - 验证
_config.yml的sass配置,确保load_paths指向docs目录下的SCSS文件路径,示例:sass: load_paths: - assets/css
3. 匹配本地与GitHub构建环境
- 本地运行
JEKYLL_ENV=production jekyll build,模拟GitHub Pages生产构建环境,排查是否有隐藏报错,确认产物结构正确。 - 确保仓库提交的文件与本地测试文件完全一致,无遗漏或冗余文件。
内容的提问来源于stack exchange,提问作者R S
相关产品推荐
相关产品推荐

