Dart:如何确定哪些pub包已停止维护?
Dart 列出所有已停止维护依赖包的实现方法
Dart 官方 pub 工具没有内置专门用于单独查询已停止维护包的命令,你可以通过以下两种常用方式快速筛选出对应依赖:
方法1:直接过滤pub命令输出
运行dart pub upgrade或dart pub get时,pub会自动在输出中为所有已停止维护的包添加*discontinued*标记,你可以直接通过命令行工具过滤对应内容:
- macOS/Linux 环境执行:
dart pub upgrade 2>&1 | grep discontinued - Windows PowerShell 环境执行:
dart pub upgrade 2>&1 | Select-String discontinued
方法2:解析结构化输出批量提取
你可以通过dart pub outdated的JSON格式输出批量筛选停止维护的包,搭配jq工具可以直接输出包名:
dart pub outdated --json | jq '.packages[] | select(.isDiscontinued == true) | .package'
如果没有安装jq工具,你也可以自行把输出的JSON内容保存后,用你熟悉的开发语言解析isDiscontinued字段为true的条目即可。
注意事项
- 以上方法仅能识别pub.dev上官方标记为已停止维护的公开包,私有托管的依赖包无法通过该方法识别。
- 执行命令前建议先确保本地包索引是最新状态,避免出现状态查询滞后的问题。
内容的提问来源于stack exchange,提问作者walkair
相关产品推荐
相关产品推荐

