Azure DevOps指定最新Flutter版本构建时路径错误求助
解决Azure DevOps Flutter构建路径错误问题
问题分析
你遇到的cd: no such file or directory错误,核心是构建任务找不到配置的项目目录,和Flutter版本切换本身无关。错误提示里的D:\a\1\s是Azure DevOps代理的代码拉取根目录,说明PROJECT_DIRECTORY变量配置的路径和仓库实际结构不匹配。另外注意Flutter安装任务里的拼写错误:verison应该是version,这个错误会导致无法正确拉取指定的最新版本,建议一并修正。
解决方案
1. 确认仓库实际路径
先在本地克隆代码仓库,检查Flutter项目的真实路径:
- 如果仓库根目录就是Flutter项目(直接有
pubspec.yaml),PROJECT_DIRECTORY设为.或者直接留空 - 如果Flutter项目在
src/flutter/naadel(没有外层Naadel文件夹),就把变量值改成"src/flutter/naadel" - 如果确实存在
Naadel/src/flutter/naadel路径,检查大小写是否和仓库一致(Windows环境下大部分情况不敏感,但部分工具可能严格匹配)
2. 添加目录排查步骤(可选但推荐)
在YAML里加一个PowerShell步骤,打印代理机器上的目录结构,方便确认路径是否正确:
- task: PowerShell@2 displayName: '检查当前目录结构' inputs: targetType: 'inline' script: | Write-Host "当前工作目录: $(Get-Location)" Get-ChildItem -Recurse
3. 修正后的完整YAML示例
name: $(Rev:r) trigger: - pipelines/production - pipelines/demo pool: vmImage: 'windows-latest' variables: # 根据实际路径修改这个变量 PROJECT_DIRECTORY: "Naadel/src/flutter/naadel" FLUTTER_VERSION: 3.19.3 stages: - stage: 'Build_Android' displayName: Build_Android_Version jobs: - job: Build displayName: BuildingAndroid steps: - task: aloisdeniel.flutter.flutter-install.FlutterInstall@0 displayName: '安装Flutter' inputs: mode: 'auto' channel: 'stable' # 修正拼写错误:verison → version version: 'latest' - task: PowerShell@2 displayName: '检查目录结构' inputs: targetType: 'inline' script: | Get-Location Get-ChildItem -Recurse - task: aloisdeniel.flutter.flutter-build.FlutterBuild@0 inputs: target: "apk" projectDirectory: "$(PROJECT_DIRECTORY)" entryPoint: "lib/main.dart" iosCodesign: false buildNumber: "$(Build.BuildNumber)"
内容的提问来源于stack exchange,提问作者Anwar Sh
相关产品推荐
相关产品推荐

