多环境管理
如果你同时维护 dev、test、staging、prod 等多个 NocoBase 应用,可以把它们分别保存成 CLI env。之后大多数 nb 命令都会默认作用在当前 env 上,所以在执行 nb app、nb api、nb db 这类命令前,先确认自己正在用哪个 env 很重要。
CLI 从这一版开始把概念拆成了 current env 和 last env。你通常只需要关心 current env——也就是当前 shell 或 agent runtime 正在使用的环境。只有在没有开启 session mode 时,CLI 才会回退到全局 last env。
快速索引
默认推荐先执行一次 nb session setup。这样不同终端、不同 shell,或者不同 agent runtime 可以各自维护自己的 current env,并行操作时不容易互相影响。
如果没有开启 session mode,那么 nb env use 会回退到更新全局 last env。这种情况下,一个终端切走环境,另一个终端也可能跟着受影响。
创建多个环境
如果你要新建或恢复一个本地应用,用 nb init 就行。它会完成初始化,并把结果保存成一个新的 CLI env。
如果应用已经存在,只是想把它接入 CLI,通常来说用 nb env add 更直接:
前者偏“初始化一个环境”,后者偏“登记一个已有环境”。如果你只是连接已有应用,默认用 nb env add 就行。
查看已经配置的环境
先用 nb env list 看看本地已经保存了哪些 env:
这个命令只展示配置本身,不主动检查应用状态。想同时看连通性和认证状态时,用 nb env status --all:
你通常会看到 ok、auth failed、unreachable 这类状态值。
切换当前环境
切换环境用 nb env use:
切换完成后,后续省略 --env 的命令都会默认使用这个 env。
查看当前环境
如果你不确定当前命令会落到哪个环境上,先执行这两个命令:
nb env current 用来看名称,nb env status 用来看当前 env 是否可访问、认证是否正常。
查看单个 env 的详细信息
想看某个 env 保存了哪些配置,用 nb env info:
其中,--field 适合在脚本里只取一个值。--show-secrets 会明文显示 token、密码这类敏感信息,只有在你明确需要排查时再用。
更新 env 配置
nb env update 用来调整一个已保存 env 的配置。比如 API 地址、认证方式、源码来源、应用端口和数据库参数。更新完成后,CLI 会根据变更自动处理后续事宜。
如果你只是想让 CLI 按当前 env 的最新状态重新同步,直接这样写就行:
如果你要修改这个 env 保存的连接信息或本地配置,可以显式带上参数:
这里可以先记住一个默认判断:
- 要修改 env 保存的连接信息或本地配置,用
nb env update - 应用接口、插件或 CLI 可用能力刚发生变化,也可以再执行一次
nb env update - 登录态过期了,或者要重新走一遍认证流程,用
nb env auth - 只是想看当前保存了什么,用
nb env info
如果你改的是 app-port、timezone、db-* 这类本地运行配置,update 只会改保存值,不会自动重启应用。通常来说后续还要再执行 nb app restart --env <name>;如果变更涉及 CLI 托管的内置数据库,则用 nb app restart --env <name> --with-db。
重新认证
如果 env 已经保存,只是登录态过期了,或者你想切换认证方式,可以重新 认证:
省略环境名时,CLI 会使用当前 env。认证完成后,CLI 会自动处理后续同步。
移除环境
如果你只想移除保存的 env 配置:
如果是本地或 Docker 托管的 env,并且你还想一起清理本机上的运行资源和 storage 数据,可以加上 --purge:
在非交互模式下,nb env remove 需要显式传入 --force:
--purge 只会清理当前机器上的 CLI 托管资源。对于远程 API env,它不会去删除远端服务本身。

