cnb-rs ext list
cnb-rs ext list [options]
cnb-rs ext ls [options] # alias列出已安装的 extension。
扫描 $EXTENSIONS_DIR/cnb-*/ 子目录,且要求子目录中存在对应平台后缀的 binary 文件(避免列出仅有目录但 binary 缺失的「残留」extension)。
选项
--json:以 JSON 数组输出,每个元素含name(命令名,不带cnb-前缀)和bin(可执行文件绝对路径),适合脚本调用--web:在浏览器打开 registry 仓库(替代未实现的 browse TUI,design §6.1 §6.8);默认https://cnb.cool/wwvo/cnb-rs/cnb-extensions,用CNB_REGISTRY_WEB_URL环境变量覆盖(fork registry / 自部署 CNB)
输出示例
默认输出(Phase 3.4 后含 manifest 全字段)
已安装的 extension(2 个):
cnb-stats 📌
版本: v0.1.0
仓库: wwvo/cnb-rs/cnb-stats
类型: binary
位置: /home/alice/.local/share/cnb/extensions/cnb-stats/cnb-stats
cnb-whoami
版本: v1.2.0
仓库: alice/cnb-whoami
类型: binary
位置: /home/alice/.local/share/cnb/extensions/cnb-whoami/cnb-whoami
📌标记表示该 extension 在 install 时加了--pin <tag>,cnb-rs ext upgrade --all会跳过它。
没有 manifest 的 extension(手工放的旧 binary)
已安装的 extension(1 个):
cnb-legacy
版本: - (手工放置,无 manifest)
位置: /home/alice/.local/share/cnb/extensions/cnb-legacy/cnb-legacyPhase 3.4 之前手工
cp cnb-* extensions/cnb-*/的 binary 仍会被列出,仅 version / repo / kind 字段表示为-。
--json 输出
json
[
{
"name": "stats",
"bin": "/home/alice/.local/share/cnb/extensions/cnb-stats/cnb-stats",
"tag": "v0.1.0",
"repo": "wwvo/cnb-rs/cnb-stats",
"kind": "binary",
"pinned": true
},
{
"name": "legacy",
"bin": "/home/alice/.local/share/cnb/extensions/cnb-legacy/cnb-legacy"
}
]无 manifest 的 extension 仅输出
name+bin,其余字段省略(skip_serializing_if = "Option::is_none")。
没有安装任何 extension 时
当前没有安装任何 extension。
提示: 使用 'cnb-rs ext install <repo>' 安装第一个 extension
(例:cnb-rs ext install wwvo/cnb-rs/cnb-stats)示例
bash
# 列出已装 extension
$ cnb-rs ext list
# 短 alias
$ cnb-rs ext ls
# JSON 输出供脚本解析
$ cnb-rs ext list --json | jq '.[].name'
# 仅列出有可升级的 extension(Phase 3.6+)
$ cnb-rs ext list --json | jq '.[] | select(.update_available) | .name'另请参阅
- cnb-rs ext
- cnb-rs ext install — 从CNB release 安装 extension(会写 manifest)
- cnb-rs ext exec — 显式执行已装 extension
- cnb-rs ext remove — 删除已装 extension
另请参阅
- cnb-rs ext
- cnb-rs ext install — 从CNB release 安装 extension(会写 manifest)
- cnb-rs ext exec — 显式执行已装 extension
- cnb-rs ext remove — 删除已装 extension $ cnb-rs ext ls
JSON 输出供脚本解析
$ cnb-rs ext list --json | jq '.[].name'
## 另请参阅
- [cnb-rs ext](/ext/)
- [cnb-rs ext install](/ext/install) — 从CNB release 安装 extension(会写 manifest)
- [cnb-rs ext exec](/ext/exec) — 显式执行已装 extension
- [cnb-rs ext remove](/ext/remove) — 删除已装 extension