镜像自地址
https://github.com/JGZYES/ParlzPackageManger.git
已同步 2026-09-11 05:42:44 +08:00
- 新增 src/pmm_err.h: 稳定错误码枚举 PMM_E_* (USAGE/NOT_FOUND/DOWNLOAD/ NETWORK/NO_MIRROR/REGISTRY/CHECKSUM/EXTRACT/CONFLICT/NO_TAR/NO_ROOT/CACHE/LANG/INTERNAL) - out.c: 新增 pmm_error_c(code,hint,fmt,...) 统一输出 [PMM]:[E<code>]: msg (hint: hint) - 所有高频报错点(main/pdm/install/json/ppdm)接入错误码+hint - 杜绝空 [PMM]:[ERROR]: (空消息兜底) 与裸 msg.xxx key (i18n 互补内置包回退)
28 行
1.6 KiB
Markdown
28 行
1.6 KiB
Markdown
# PMM v0.6.0
|
||
|
||
## 新增
|
||
- **错误码系统(结构化报错)**:新增 `pmm_err.h` 定义稳定的错误码枚举
|
||
`PMM_E_*`(`PMM_E_USAGE=1`、`PMM_E_NOT_FOUND=2`、`PMM_E_DOWNLOAD=3`、
|
||
`PMM_E_NETWORK=4`、`PMM_E_NO_MIRROR=5`、`PMM_E_REGISTRY=6`、`PMM_E_CHECKSUM=7`、
|
||
`PMM_E_EXTRACT=8`、`PMM_E_CONFLICT=9`、`PMM_E_NO_TAR=10`、`PMM_E_NO_ROOT=11`、
|
||
`PMM_E_CACHE=12`、`PMM_E_LANG=13`、`PMM_E_INTERNAL=99`),每个报错都可以被
|
||
脚本 / 工具 / 用户可靠识别。
|
||
- **`pmm_error_c(code, hint, fmt, ...)`**:统一输出
|
||
`[PMM]:[E<code>]: <消息> (hint: <解决办法>)`,每条错误都带**回答**(怎么修)。
|
||
- **高频报错点全部接入错误码**:`main.c` / `pdm.c` / `install.c` / `json.c` /
|
||
`ppdm.c` 的用法、找不到、下载失败、校验和、解包、冲突、缺镜像、缺 tar、
|
||
权限、缓存、语言包等报错统一走 `pmm_error_c`。
|
||
|
||
## 修复
|
||
- **杜绝裸/空报错**:
|
||
- `pmm_error` 在消息为空时不再输出 `[PMM]:[ERROR]:`(兜底为 `(no message)`)。
|
||
- `pmm_tr` 增加“互补内置包回退”:中文内置表是英文全表的子集,缺键时再回退到
|
||
英文内置表,任何 `msg.xxx` 键都不会裸显示原始 key。
|
||
- 报错格式统一为 `[PMM]:[E<code>]: 消息 (hint: 提示)`,颜色仅在有 TTY 时包裹,
|
||
日志/管道下输出纯文本,方便机器解析。
|
||
|
||
## 说明
|
||
- 兼容性:错误码在 0.6.0 起稳定;旧脚本若匹配 `[PMM]:[ERROR]:` 前缀,建议改用
|
||
`[PMM]:[E<NN>]:`(`<NN>` 为两位数字错误码)。
|
||
- `ppdm` 仍为独立版本 `0.0.1`,本次同步接入错误码格式。
|