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

monorepo使用melos执行GitHub Action无法生成coverage.lcov

问题原因

报错是因为Dart从2.12版本开始废弃了旧版.packages配置文件,统一使用.dart_tool/package_config.json管理包映射。你使用的coverage 1.5.0版本已经移除了对旧.packages文件的支持,命令中传入的--packages=.packages参数会让工具尝试解析已经被标记为废弃的旧文件,文件开头的注释行# This file is deprecated...不符合JSON格式要求,直接触发解析异常。

正确命令

直接移除命令中过时的--packages=.packages参数即可,新版format_coverage会自动读取当前目录下的标准包配置文件,不需要手动指定路径。
修改后的melos.yaml配置片段:

test:format:
    run: melos exec -c 1 -- format_coverage --lcov --check-ignore --in=coverage --out=coverage.lcov --report-on=lib
    description: Format Dart tests' coverage data
    select-package:
      flutter: false
      dir-exists: test

如果需要手动指定包配置路径,将参数替换为--packages=.dart_tool/package_config.json即可。

注意:前置的测试生成覆盖率原始数据步骤,需要通过melos exec在每个子包目录单独执行dart test --coverage=coverage,不要在仓库根目录直接运行测试命令,否则会出现路径匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:09:23