使用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
相关产品推荐
相关产品推荐

