UIP 更新
"uip update" 的语法和选项,用于更新已安装的工具和技能,并检查或应用较新的 CLI 版本。
uip update 更新每个已安装的工具和技能,并检查(默认情况下应用)较新的 CLI 版本。这相当于同时运行 uip tools update 和技能更新的单个命令,加上 CLI 自身的自更新检查。
大纲
uip update [--dry-run] [--tools-only | --skills-only] [--no-tools] [--no-skills] [--no-cli-check] [--no-self] [--channel <stable|preview>] [--name <tool-name>] [--agent <agent>] [--local | --no-local]
uip update [--dry-run] [--tools-only | --skills-only] [--no-tools] [--no-skills] [--no-cli-check] [--no-self] [--channel <stable|preview>] [--name <tool-name>] [--agent <agent>] [--local | --no-local]
选项
| 标记 | 描述 |
|---|---|
--dry-run | 预览将要更改的内容但无需应用。 |
--tools-only | 更新工具;跳过技能部分。与 --skills-only 和 --no-tools 互斥。 |
--skills-only | 更新技能;跳过工具部分。与 --tools-only 和 --no-skills 互斥。 |
--no-tools | 不更新工具。 |
--no-skills | 不更新技能。 |
--no-cli-check | 根本不探测较新的 CLI 版本。 |
--no-self | 探索较新的 CLI 版本并报告,但不安装 — 打印包含手动升级命令的通知,而不是自行更新。 |
--channel <channel> | 覆盖此运行的发布渠道: stable或preview (请查看uip config updateChannel )。如无此标志,系统将从 core.updateChannel/正在运行的 CLI 自身内部版本解析频道。 |
--name <tool-name> | 将工具更新限制为一个作用域工具名称。 |
--agent <agent> | 限制一个编码智能体可进行技能更新。 |
--local | 仅将技能更新限制在本地(项目)范围内。 |
--no-local | 限制仅在全局作用域内更新技能。 |
--tools-only 与 --no-tools 结合使用(或 --skills-only 与 --no-skills 结合使用)会产生冲突,并且会在运行任何内容之前失败并显示 ValidationError。
版本策略
没有每次调用版本标志 — uip update始终针对有效版本目标: core.version uip config (如果已设置),否则为最新发布的版本。
- 无固定— 以最新版本为目标,自由跨越次要和主编边界(显式
uip update是用户选择的,这与无人值守的每日后台同步不同,后者会自行上限以避免意外的主要跳转)。 major.minor标记(“线路”标记,例如1.196)— 跟踪该行中的最新补丁。major.minor.patch识别码(确切的识别码,例如1.196.3)—完全冻结更新。uip update完全跳过更新引擎,发出Success信封,其中每个部分都标记为“未运行”,并向 STDERR 打印警告,解释该固定以及如何清除(uip config set version <major.minor>用于跟踪行,或uip config clear version再次关注最新版本)。
示例
# Update everything installed, including the CLI itself
uip update
# Update everything installed, including the CLI itself
uip update
# Update tools and skills but only report on a newer CLI, don't self-update
uip update --no-self
# Update tools and skills but only report on a newer CLI, don't self-update
uip update --no-self
# Preview without applying
uip update --dry-run
# Preview without applying
uip update --dry-run
# Tools only, on the preview channel
uip update --tools-only --channel preview
# Tools only, on the preview channel
uip update --tools-only --channel preview
数据形状(--输出 json)
{
"Code": "UpdateResult",
"Data": {
"DryRun": false,
"Channel": "stable",
"Cli": {
"current": "1.4.2",
"available": "1.4.3",
"action": "updated",
"reason": null
},
"Tools": [
{ "name": "orchestrator-tool", "status": "updated", "from": "1.4.2", "to": "1.4.3" }
],
"Skills": { "Sections": [] },
"Errors": [],
"HasFailures": false
}
}
{
"Code": "UpdateResult",
"Data": {
"DryRun": false,
"Channel": "stable",
"Cli": {
"current": "1.4.2",
"available": "1.4.3",
"action": "updated",
"reason": null
},
"Tools": [
{ "name": "orchestrator-tool", "status": "updated", "from": "1.4.2", "to": "1.4.3" }
],
"Skills": { "Sections": [] },
"Errors": [],
"HasFailures": false
}
}
Cli.action 为 updated、notice(存在较新的 CLI 且未应用 — 由于 --no-self 或自动更新因其他原因而拒绝)、none(已经是最新版本)或skipped(确切的 core.version PIN 冻结了运行 — 见上文)。当该部分被完全跳过(--tools-only、--skills-only、--no-tools、--no-skills 或冻结管脚短接)时,Tools/Skills 为 null,而不是空数组。
使用 Cli.action: "notice" 运行也会将手动升级命令记录到标准错误(npm install -g @uipath/cli@<version> 或工具报告的等效项)。
退出代码
uip update遵循标准合同,但增加了一项:部分失败仍返回Success信封(Orchestrator 不会在第一个失败的子系统处停止 — 它运行每个部分,并在Data.Errors下报告每个结果),但是当Data.HasFailures为true时,流程仍以非零值退出。如果脚本需要检测部分更新失败,请选中 HasFailures,而不仅仅是 Result。
相关内容
- uip config —
version和updateChannel管理uip update目标内容。 - UIP 工具—
uip tools update是仅工具等效项,具有自己的专用标志。 - uip 技能— 技能安装和每个智能体的更新行为。