跳转到内容
你正在查看尚未发布的 main 分支的文档,其中可能包含尚未进入任何发布版本的变更。

事件

权威来源:cli-v1 的事件一节和 event-v1.schema.json。

setup --json 在标准输出上每行写一个 JSON 对象。C ABI 把同样的对象(不带换行)传给通过 event_subscribe 注册的回调。

{"schema":1,"phase":"download","progress":0.37}
{"schema":1,"phase":"error","code":"trust.hash_mismatch","message":"...","exit_code":4}
字段 是否出现 含义
schema 总是 1
phase 总是 引擎阶段,见下文
progress 可选 阶段内 0 到 1 之间的数字
code 可选 错误或通知的 <category>.<name>(退出码)
message 可选 人类可读的文本
exit_code 可选 此事件对应的退出码

忽略你不认识的字段:可能会增加新字段,而已有字段的含义永远不会改变。

recover、discover、validate、resolve、plan、prepare、download、verify、execute、commit、bootstrap、verify_install、finalize、complete、error。

这个集合是固定的;顺序取决于操作。从本地仓库进行的用户范围安装依次发出 recover、discover、resolve、validate、prepare、download、verify、plan、execute、commit、bootstrap、verify_install、finalize、complete。成功的运行包含 complete;失败的运行恰好发出一个 error 事件。当 App Bootstrap 在提交之后失败时,setup 还会发出一个 bootstrap 事件,其代码为 bootstrap.pending,exit_code 为 8。