|
@@ -9,6 +9,7 @@
|
|
|
# - MinIO(对象存储)+ mc(MinIO Client)
|
|
# - MinIO(对象存储)+ mc(MinIO Client)
|
|
|
# - Docker + Docker Compose 插件(Casdoor 需要)
|
|
# - Docker + Docker Compose 插件(Casdoor 需要)
|
|
|
# - Go 1.26 / Node 22 + pnpm(仅“构建”时需要,可选)
|
|
# - Go 1.26 / Node 22 + pnpm(仅“构建”时需要,可选)
|
|
|
|
|
+# - uv(Python 包/工具管理器,uvx 拉起 MCP server 等,可选)
|
|
|
#
|
|
#
|
|
|
# 特点:
|
|
# 特点:
|
|
|
# * 每个组件都是“先检测,缺失才安装”,可重复执行(幂等)
|
|
# * 每个组件都是“先检测,缺失才安装”,可重复执行(幂等)
|
|
@@ -222,6 +223,25 @@ ensure_node() {
|
|
|
ok "Node/pnpm 安装完成:$(node -v) / pnpm $(pnpm -v)"
|
|
ok "Node/pnpm 安装完成:$(node -v) / pnpm $(pnpm -v)"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+# ---------------------------------------------------------------------------
|
|
|
|
|
+# uv(Python 包/工具管理器,用于 uvx 拉起 MCP server 等)
|
|
|
|
|
+# ---------------------------------------------------------------------------
|
|
|
|
|
+ensure_uv() {
|
|
|
|
|
+ local ver=""
|
|
|
|
|
+ has uv && ver="$(uv --version 2>/dev/null | awk '{print $2}')"
|
|
|
|
|
+ _detect_guard "uv" "$([[ -n $ver ]] && echo 1 || echo 0)" "${ver}" && return 0
|
|
|
|
|
+ info "安装 uv(官方脚本,安装到 /usr/local/bin)..."
|
|
|
|
|
+ # 官方安装脚本:用 UV_INSTALL_DIR 指定全局目录,--no-modify-path 避免改动 shell profile
|
|
|
|
|
+ curl -LsSf https://astral.sh/uv/install.sh \
|
|
|
|
|
+ | sudo env UV_INSTALL_DIR=/usr/local/bin UV_UNMANAGED_INSTALL=/usr/local/bin sh -s -- --no-modify-path
|
|
|
|
|
+ if has uv; then
|
|
|
|
|
+ ok "uv 安装完成:$(uv --version | awk '{print $2}')"
|
|
|
|
|
+ else
|
|
|
|
|
+ err "uv 安装后仍无法在 PATH 中找到,请检查 /usr/local/bin 是否在 PATH"
|
|
|
|
|
+ return 1
|
|
|
|
|
+ fi
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
# ---------------------------------------------------------------------------
|
|
# ---------------------------------------------------------------------------
|
|
|
# 主流程
|
|
# 主流程
|
|
|
# ---------------------------------------------------------------------------
|
|
# ---------------------------------------------------------------------------
|
|
@@ -239,7 +259,8 @@ main() {
|
|
|
docker) ensure_docker ;;
|
|
docker) ensure_docker ;;
|
|
|
go) ensure_go ;;
|
|
go) ensure_go ;;
|
|
|
node) ensure_node ;;
|
|
node) ensure_node ;;
|
|
|
- *) warn "未知组件:${c}(可选:postgres mongo redis minio mc docker go node)" ;;
|
|
|
|
|
|
|
+ uv) ensure_uv ;;
|
|
|
|
|
+ *) warn "未知组件:${c}(可选:postgres mongo redis minio mc docker go node uv)" ;;
|
|
|
esac
|
|
esac
|
|
|
done
|
|
done
|
|
|
ok "依赖处理完成"
|
|
ok "依赖处理完成"
|