用途:把项目使用的包管理器(npm、pnpm、pip、uv、pipenv、maven、gradle、go、docker、podman、nuget/dotnet、helm 等)配置并绑定到 JFrog Artifactory,使后续安装从 Artifactory 解析依赖。
主要能力:读取会话开始钩子注入的 "Resolved URLs for this session" 解析结果,确定每个包管理器的 repoKey 与 serverId;按用户显式点名、已有工作区绑定、工作区清单文件(package.json、pnpm-lock.yaml、requirements.txt、Pipfile、uv.lock、pyproject.toml、pom.xml、build.gradle、go.mod、Dockerfile、Chart.yaml 等)、以及 jf setup --help 支持列表四个信号确定待绑定对象;执行 jf setup 写入包管理器原生配置(.npmrc、pip.conf、uv.toml 等);成功后用 scripts/merge-workspace-binding.sh 把决策合并进 .jfrog/local/package-resolution.json。
使用方式:先覆盖基础 jfrog 技能 At-a-glance / Tier A 并做环境检查,确保 jf 已安装、jf config show 有可用服务端;对每个包管理器运行 jf setup <package-manager> --server-id <SID> --repo <repoKey>(可加 --project <key>),退出码为 0 再合并绑定;随后如会话出现路由未就绪提示,按提示命令重新加载策略。首次 jf setup 前需确认,除非用户明确要求静默/非交互。
限制:仓库键必须来自解析器或用户显式覆盖,不可自行枚举或探测服务器;未解析时通过 AskQuestion 询问,每个包管理器最多两次回答后中止;服务器永不切换。jf setup 会覆盖包管理器配置且无备份,已匹配的绑定应跳过。Docker/Podman 仅写凭据,拉取需使用 <host>/<repoKey>/<img> 前缀,否则走 Docker Hub。绑定文件只存决策不存凭据。gradle 须绑定在 repositories.gradle 而非 maven;yarn/poetry 仅在用户明确要求时绑定;客户端工具不在 PATH 时按不适用跳过。合并脚本需要 jq。缺失事实:未提供具体版本号、收费或许可信息。