nb app upgrade
升级指定 NocoBase 应用。CLI 会先停止当前应用,默认重新下载并替换已保存的源码或镜像,然后同步商业插件、升级并启动应用,并在最后刷新 env runtime。Docker env 的启动阶段会按已保存配置重建应用容器。
用法
参数
示例
说明
只有在你显式传入 --env 时,CLI 才会检查它是否与当前 env 一致。如果显式指定了不同的 env,交互终端会先确认;在非交互终端或 AI agent 场景下,需要由你自己显式追加 --yes,或者先执行 nb env use <name> 再重试。
在真正开始升级前,交互终端还会再做一次升级确认,除非你显式传入 --force。在非交互终端和 AI agent 会话中,如果没有 --force,nb app upgrade 会直接拒绝执行,并输出一条可直接复制的重跑命令。如果同时还是跨 env 操作,则需要同时传入 --yes 和 --force。
默认流程下,nb app upgrade 会依次执行:
nb app stopnb source download --replacenb license plugins sync --skip-if-no-licensenb app start- 在需要时保存新的
downloadVersion nb env update
如果传入 --skip-download,CLI 会跳过第 2 步和第 3 步,直接基于当前已保存的源码或镜像执行升级并启动。此时如果同时传入 --version,CLI 不会在本次升级中下载该版本,而是在成功后仅把它保存为新的 downloadVersion,供后续升级或恢复使用。
第 4 步会按当前代码状态自动完成必要的升级准备,再等待应用通过 __health_check。等待期间,CLI 会先输出一条等待日志,之后每 10 秒输出一条进度提示,直到应用就绪或超时。
如果最后的 nb env update 失败,upgrade 仍然视为成功,但 CLI 会给出 warning,并提示你后续单独执行 nb env update <envName>。

