You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jekyll启动报错:Scss转换出现Broken pipe问题求助

解决Jekyll SCSS转换的Broken Pipe错误

1. 先获取完整错误栈

执行以下命令获取更详细的错误追踪信息,定位问题根源:

bundle exec jekyll serve --trace

2. 降级jekyll-sass-converter版本

当前使用的jekyll-sass-converter 3.0.0依赖sass-embedded组件,该组件在部分Linux环境下存在兼容性问题。尝试降级到2.x版本(基于传统sassc解析器):

  • 修改项目根目录的Gemfile,更新依赖声明:
    gem "jekyll-sass-converter", "~> 2.2.0"
    
  • 执行依赖更新:
    bundle update jekyll-sass-converter
    
  • 重新启动服务:
    bundle exec jekyll serve
    

3. 检查SCSS文件完整性

  • 打开assets/main.scss,排查是否存在语法错误、无效的@import路径,或引用了不存在的SCSS文件。
  • 确保所有导入的依赖文件都存在于对应目录中。

4. 修复Gem依赖版本冲突

从Gemfile.lock可见,http_parser.rb实际安装版本为0.8.0,但Gemfile指定的是~> 0.6.0,版本不匹配可能引发异常:

  • 修改Gemfile中的依赖声明:
    gem "http_parser.rb", "~> 0.8.0"
    
  • 执行更新:
    bundle update http_parser.rb
    

5. 清理Jekyll缓存

缓存损坏可能导致异常,清理后重新启动:

bundle exec jekyll clean
bundle exec jekyll serve

6. 检查目录权限与二进制执行性

  • 确保当前用户对项目目录(尤其是assets和_site目录)拥有读写权限。
  • 检查sass-embedded二进制文件的执行权限:
    # 定位sass-embedded安装目录
    bundle show sass-embedded
    # 检查二进制文件权限
    ls -l $(bundle show sass-embedded)/bin/sass-embedded
    # 若缺少执行权限,添加权限
    chmod +x $(bundle show sass-embedded)/bin/sass-embedded
    

内容的提问来源于stack exchange,提问作者user17376050

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:44:52