关于 install-duckdb
install-duckdb 是用于安装 DuckDB 扩展,或更新扩展和 DuckDB CLI 的技能。它接受扩展名称及可选仓库参数,并提供更新模式。
主要功能
- 01安装指定的 DuckDB 扩展
- 02支持指定扩展仓库
- 03更新指定扩展或全部扩展
- 04检查并可升级 DuckDB CLI
适用场景
- 01安装任务所需的扩展
- 02更新 DuckDB 扩展和 CLI
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ duckdb/ duckdb-skills --skill install-duckdb安装后在 Claude Code 中输入/install-duckdb确认已加载。
附带文件eval.sh
详细介绍
参数:$@
每个扩展参数的形式为 name 或 name@repo。
name→INSTALL name;name@repo→INSTALL name FROM repo;
第 1 步 — 定位 DuckDB
DUCKDB=$(command -v duckdb)
如果未找到,请告知用户:
未安装 DuckDB。 请先通过以下方式之一安装:
- macOS:
brew install duckdb- Linux:
curl -fsSL https://install.duckdb.org | sh- Windows:
winget install DuckDB.cli然后重新运行
/duckdb-skills:install-duckdb。
如果未找到 DuckDB,则停止。
第 2 步 — 检查是否存在 --update 标志
如果 $@ 中存在 --update,请将其从参数列表中移除,并将模式设为 更新。
否则,模式为 安装。
第 3 步 — 构建并运行语句
安装模式:
解析剩余的每个参数:
- 如果包含
@,则按@拆分 →INSTALL <name> FROM <repo>; - 否则 →
INSTALL <name>;
在一次 DuckDB 调用中全部运行:
"$DUCKDB" :memory: -c "INSTALL <ext1>; INSTALL <ext2> FROM <repo2>; ..."
更新模式:
首先,检查 DuckDB CLI 本身是否为最新版本:
CURRENT=$(duckdb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
LATEST=$(curl -fsSL https://duckdb.org/data/latest_stable_version.txt)
-
如果
CURRENT==LATEST→ 报告 DuckDB CLI 已是最新版本。 -
如果
CURRENT!=LATEST→ 询问用户:DuckDB CLI 已过时(已安装:
CURRENT,最新版本:LATEST)。现在升级吗?如果用户同意,检测平台并运行相应的升级命令:
- macOS(
brew可用):brew upgrade duckdb - Linux:
curl -fsSL https://install.duckdb.org | sh - Windows:
winget upgrade DuckDB.cli
- macOS(
然后更新扩展:
- 未提供扩展名称 → 更新全部:
UPDATE EXTENSIONS; - 提供了扩展名称 → 在一次调用中更新(忽略
@repo):UPDATE EXTENSIONS (<name1>, <name2>, ...);
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS;"
# or
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS (<ext1>, <ext2>, ...);"
调用完成后,报告成功或失败。
评论
支持 Markdown