搭建GitHub Pages Jekyll站点时本地Server启动失败,SCSS编译报错
问题分析
你的SCSS文件开头的---是Jekyll的YAML Front Matter,用来标记这是需要Jekyll预处理的模板文件(会注入站点变量、参与主题样式整合)。删除后Jekyll会把它当作普通静态CSS文件,所以主题布局失效;保留时编译报错,大概率是本地环境依赖不一致或SCSS语法/路径问题导致。
解决方案
同步GitHub Pages本地环境
GitHub Pages使用固定版本的Jekyll及依赖包,直接用jekyll serve启动可能和线上环境版本冲突。安装github-pagesgem并通过bundle启动:gem install github-pages bundle exec jekyll serve这能确保本地依赖和GitHub Pages完全一致,避免版本差异引发的编译错误。
修正SCSS语法错误
代码里的font-family: "PT Sans",sans-serif;使用了HTML实体",SCSS中应替换为普通双引号:font-family: "PT Sans",sans-serif;这种实体字符会导致SCSS编译器解析失败。
确认Bootstrap导入路径
确保Bootstrap的SCSS文件存放在Jekyll的_sass/bootstrap/目录下(即_sass/bootstrap/bootstrap.scss存在)。如果是通过npm安装的Bootstrap,GitHub Pages不支持npm依赖,需要手动将Bootstrap的SCSS源码复制到_sass目录中。保留YAML Front Matter
开头的---必须保留,Jekyll需要通过它识别这是需要预处理的样式文件,这样主题布局才能正确引用该样式。
内容的提问来源于stack exchange,提问作者Ludiras

