使用JFrog CLI执行go build时依赖未上传至Artifactory求助
问题排查与解决方案
核心问题分析
你遇到的情况是:jf rt go build仅下载第三方依赖但不上传,而自有模块可通过go-publish上传,本质是因为默认情况下,JFrog CLI的Go构建命令不会自动上传已下载的第三方依赖,且你使用的是已废弃的旧命令语法,功能覆盖有限。
分步解决方案
1. 切换到新命令语法
日志已明确提示旧命令jf rt go build已废弃,改用新语法jf go build,新语法更贴合原生Go命令逻辑,且支持完整的依赖上传功能:
jf go build
2. 启用第三方依赖上传
要在构建时自动上传所有依赖(包括第三方模块),需添加--upload-deps参数,该参数会将go.mod中声明的所有依赖上传到配置文件指定的deployer仓库:
jf go build --upload-deps
3. 验证仓库配置正确性
确保你的demo-go-repo-local是Go类型的本地仓库:
- 登录Artifactory后台,进入
Repositories > Local - 找到
demo-go-repo-local,确认仓库类型为Go - 如果不是,需重新创建Go类型的本地仓库,并更新
.jfrog/projects/go.yaml中的deployer repo名称
4. 手动捕获并上传依赖(可选)
如果不想在构建时附带上传操作,可单独使用jf rt go capture命令捕获go.mod中的所有依赖并上传:
jf rt go capture --repo=demo-go-repo-local
验证步骤
执行命令后,登录Artifactory后台,进入demo-go-repo-local仓库,检查路径rsc.io/quote/v1.5.2是否存在对应的模块文件,确认上传成功。
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

