如何禁止Flutter pub get首次失败后自动重试
配置pub get首次请求失败即终止的方法
pub工具默认针对服务不可用类的错误采用指数退避重试逻辑,最多会重试8次,每次等待时长翻倍,就是日志里重试等待64秒的情况。要关闭自动重试,只需要给命令添加--no-retry参数即可。
本地执行配置
根据你使用的SDK选择对应命令:
- 纯Dart环境执行:
dart pub get --no-retry - Flutter环境执行:
flutter pub get --no-retry
添加参数后,只要出现包地址错误、服务不可用等拉取失败问题,命令会直接抛出错误终止,不会进入重试等待流程。
GitHub Action 配置
修改CI工作流文件中安装依赖的步骤,给命令加上上述参数即可,示例片段:
- name: 拉取项目依赖 run: flutter pub get --no-retry
配置完成后,碰到私有包URL填写错误、私有包服务不可用的场景,构建步骤会立刻失败退出,不会消耗多余的构建时长额度。
默认重试逻辑会输出如下日志,未加参数时该流程最长会消耗数分钟的等待时间:
get failed (server unavailable) -- attempting retry 8 in 64 seconds...
内容的提问来源于stack exchange,提问作者TSR
相关产品推荐
相关产品推荐

