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

使用GitHub Actions部署Flutter Web至GitHub Pages时版本冲突报错

解决GitHub Actions部署Flutter Web时Dart版本不匹配问题

问题根源很明确:GitHub Actions运行环境默认带的Flutter版本太老,自带的Dart SDK版本不符合项目要求,和你本地用的版本不统一。

直接按下面的步骤修改你的GitHub Actions配置文件(路径一般是.github/workflows/xxx.yml):

  • 首先,在构建流程里添加指定Flutter版本的步骤,替换掉环境默认的旧版本。用官方的setup-flutter action安装和本地一致的版本(比如你本地的3.4.0):

    - name: 配置Flutter环境
      uses: subosito/flutter-action@v2
      with:
        flutter-version: '3.4.0' # 和本地flutter --version显示的版本一致
        channel: 'stable'
    
  • 确保流程顺序正确:先拉取代码,再配置Flutter环境,接着执行flutter pub get,最后构建并部署。完整的示例流程大概是这样:

    name: 部署Flutter Web到GitHub Pages
    
    on:
      push:
        branches: [ main ]
    
    jobs:
      构建并部署:
        runs-on: ubuntu-latest
        steps:
          - name: 拉取代码
            uses: actions/checkout@v4
    
          - name: 配置Flutter环境
            uses: subosito/flutter-action@v2
            with:
              flutter-version: '3.4.0'
              channel: 'stable'
    
          - name: 安装依赖
            run: flutter pub get
    
          - name: 构建Web应用
            run: flutter build web --release
    
          - name: 部署到GitHub Pages
            uses: peaceiris/actions-gh-pages@v3
            with:
              github_token: ${{ secrets.GITHUB_TOKEN }}
              publish_dir: build/web
    
  • 如果你不想硬写版本号,也可以在项目根目录创建一个.flutter-version文件,里面只写你的Flutter版本号(比如3.4.0),然后把setup步骤改成读取这个文件:

    - name: 配置Flutter环境
      uses: subosito/flutter-action@v2
      with:
        flutter-version-file: '.flutter-version'
    

这样配置后,GitHub Actions会安装符合项目要求的Flutter版本,自带的Dart SDK自然就满足>=3.0.5 <4.0.0的约束了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:15:01