NocoBase 如何安装、启用和升级插件
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
当你拿到一个第三方插件包(远程.tgz下载地址、本地.tgz文件,或已发布到 npm 的包名),需要把它装进一个已在运行的 NocoBase 应用并启用;或者插件已启用,需要换成新版本。本文基于 NocoBase 官方文档,给出「导入 → 重启 → 启用 → 验证」这条完整路径,并覆盖已启用插件的升级、内置插件和商业插件的对应处理方式。适用对象是通过nbCLI 管理应用的环境(npm/Git env、Docker env 或 HTTP env),其中 npm/Git env 在本地执行插件命令,Docker env 在已保存的应用容器中执行,HTTP env 在可用时回退到 API(见 nb plugin 命令参考)。
准备:先切到目标环境
如果本地管理了多个应用,先切到目标 env 再操作:
nb env use app1后续所有nb plugin、nb app命令省略--env时都作用于当前 env。只有在显式传入--env指向另一个 env 时,CLI 才会检查它是否与当前 env 一致:交互终端会先确认;在非交互终端(脚本或 AI agent 场景)下,要么自己追加--yes,要么先执行nb env use <name>再重试(见 第三方插件安装与升级、nb plugin enable)。
安装:用nb plugin import导入插件包
nb plugin import支持三类来源:远程压缩包、本地压缩包、npm 包名或 tag。注意它只负责把插件导入storage/plugins,不会自动启用插件;也不需要手动解压到storage/plugins,CLI 会自动放到正确目录(见 nb plugin import):
# 远程压缩包 nb plugin import https://github.com/nocobase/plugin-auth-cas/releases/download/v1.4.0/plugin-auth-cas-1.4.0.tgz # 本地压缩包 nb plugin import /your/path/plugin-auth-cas-1.4.0.tgz # npm 包名或 tag nb plugin import @my-scope/plugin-auth-cas@beta其中/your/path/plugin-auth-cas-1.4.0.tgz是文档中的占位路径,替换为实际.tgz文件的完整路径即可。
两个可选分支:
- 插件发布在私有 npm registry 时,先登录再指定 registry:
npm login --registry=https://registry.example.com nb plugin import @my-scope/plugin-auth-cas@beta --npm-registry=https://registry.example.com- 如果已经知道目标应用的
storage根目录,可以显式传--storage-path,此时不依赖当前 env、也可以不传--env,插件会写入<storage-path>/plugins:
nb plugin import /your/path/plugin-auth-cas-1.4.0.tgz --storage-path ./storage导入之后先重启
导入完成后,先重启目标应用让插件目录重新加载:
nb app restart也可以显式传入-e <env>指定要重启的环境。nb app restart会先停止再启动应用,并在适用时先自动同步当前授权允许使用的商业插件;只要 CLI 需要等待应用就绪,就会检查__health_check接口:先输出一条等待日志,之后每 10 秒输出一条进度提示,直到应用可用或超时(见 nb app restart)。等到应用通过健康检查,重启才算完成。
第一次安装后启用插件
重启通过后,第一次安装需要显式启用:
nb plugin enable @nocobase/plugin-auth-casnb plugin enable支持一次传入多个插件包名:
nb plugin enable @nocobase/plugin-a @nocobase/plugin-b第一次启用时会自动完成安装(见 第三方插件安装与升级)。停用则用对应的nb plugin disable <packages...>(见 nb plugin disable)。
验证:确认插件已出现在当前应用
nb plugin listnb plugin list会列出当前 env 已安装的插件,用于确认导入的插件包名出现在列表中(见 nb plugin list)。结合上一步重启时的__health_check等待结果——CLI 在应用就绪前每 10 秒输出一次进度提示、就绪或超时才结束——即可判断本次安装是否成功加载。
升级一个已启用的插件
如果插件已经启用,这次只是换成新版本,只需要两步:导入新包,然后重启:
nb plugin import /your/path/plugin-auth-cas-1.5.0.tgz nb app restart导入的是 npm 包时同理:
nb plugin import @my-scope/plugin-auth-cas@latest nb app restart也就是说,升级场景不需要再额外执行nb plugin enable——把新包导入进去、重启应用即可。
如果你的应用是在源码目录内用yarn nocobase系列命令管理的,安装与升级插件给出的是另一条等价路径:
yarn pm pull https://github.com/nocobase/plugin-auth-cas/releases/download/v1.4.0/plugin-auth-cas-1.4.0.tgz # 或本地包 yarn pm pull /your/path/plugin-auth-cas-1.4.0.tgz如果应用已安装该插件且需要升级,执行:
yarn nocobase upgrade --skip-code-update离线场景(目标机器不能直接访问下载地址):先把.tgz上传到目标机器任意目录再本地导入;或者手动上传并解压到./storage/plugins目录。文档要求:如果插件已启用,在手动上传并解压完成后执行yarn nocobase upgrade --skip-code-update,并且为避免缓存问题,执行前确保 NocoBase 应用已停止运行。正确的手动解压方式(避免产生多余的package目录层级):
mkdir -p /my-nocobase/storage/plugins/@nocobase/plugin-auth-cas && \ tar -xvzf /downloads/plugin-auth-cas-1.4.0.tgz \ -C /my-nocobase/storage/plugins/@nocobase/plugin-auth-cas \ --strip-components=1其中/my-nocobase和/downloads/plugin-auth-cas-1.4.0.tgz按你机器上的实际应用根目录和上传位置替换。解压后该目录下应直接是插件内容(package.json、server.js、dist/等),而不是多包一层package目录。
内置插件与商业插件
- 内置插件:随内核版本自动更新,无需手动操作。升级应用内核时使用
nb app upgrade,它默认依次执行nb app stop、nb source download --replace、nb license plugins sync --skip-if-no-license、nb app start,并在需要时保存新的downloadVersion、刷新 env runtime;非交互终端下必须显式传入--force,否则命令会被拒绝并输出一条可直接复制的重跑命令(见 nb app upgrade):
nb app upgrade nb app upgrade --env local --force- 商业插件:先为当前 env 激活商业 license key(支持直接传 key、从文件读取或在交互终端粘贴),激活成功后需要重启应用让授权和商业插件状态真正生效,CLI 会在重启前自动同步当前授权允许使用的商业插件(见 nb license、nb license activate):
nb license activate --env app1 --key-file ./license.txt nb app restart也可以用nb license plugins list查看当前授权对应的商业插件列表,用nb license plugins sync将其同步到本地(见 nb license plugins)。
边界说明
nb plugin import只导入不启用,导入后必须重启,第一次安装还要再执行nb plugin enable;升级场景则不需要重复 enable。- 非交互环境下,跨 env 操作(显式
--env与当前 env 不一致)需要追加--yes;nb app upgrade还需要--force,两者是独立的确认参数。 - 重启、升级过程中 CLI 对
__health_check的等待存在超时行为,超时即说明应用未在预期时间内就绪,此时应结合nb app logs一类的排查手段继续定位(本文不展开)。
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考