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

Github Actions CI构建时如何编译SCSS为CSS?Heroku部署报错如何解决?

问题根因

你在SASS编译完成后,又执行了一次actions/checkout@v2操作,这个步骤会重置当前工作区的所有文件,恢复到刚拉取远程仓库的初始状态,你之前编译生成的main.css属于未被Git追踪的文件,会直接被这次checkout操作清除,所以后续部署到Heroku的时候自然找不到该文件。

修复方案

直接删掉部署步骤前重复的checkout代码即可,修改后的完整build配置如下:

build:
    runs-on: ubuntu-latest
    steps:
        - name: Checkout source Git branch
          uses: actions/checkout@v2
          with:
            ref: main
            fetch-depth: 10
            submodules: true

        - name: Compile CSS from SCSS files
          uses: gha-utilities/sass-build@v0.4.7
          with:
              source: ./src/scss/main.scss
              destination:  ./src/scss/main.css 

        # 部署到heroku,无需再次执行checkout
        - uses: akhileshns/heroku-deploy@v3.12.12
          with:
              heroku_api_key: ${{secrets.HEROKU_API_KEY}}
              heroku_app_name: "ga"
              heroku_email: "a88@gmail.com"
可选优化建议

如果你担心第三方SASS Action的维护性问题,也可以不用第三方Action,直接基于项目本身的依赖完成编译:

  • 在package.json的scripts中添加编译脚本:"build:scss": "sass src/scss/main.scss src/scss/main.css"
  • 把sass提前加入项目的开发依赖
  • 把SASS编译步骤替换为执行npm run build:scss即可,兼容性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:24:04