无法通过jfrog.exe直接下载nupkg包内nuspec文件的方案咨询
问题原因
packagename.nupkg!/filename.nuspec是Artifactory Web端仓库浏览器用来标识归档内部文件的特殊路径格式,仅在UI交互场景下生效。jfrog CLI的rt dl命令默认只识别仓库中实际存储的实体文件路径,不会自动解析!/标记的归档内路径规则,因此执行原命令时不会得到任何结果。
可选优化方案
方案1:调用归档单文件下载接口(推荐)
这个方案不需要下载完整nupkg包,也不需要本地做解压操作,和你在Web UI中点击下载nuspec的底层逻辑完全一致:通过jfrog CLI内置的curl能力调用Artifactory原生的归档条目下载接口,服务端会直接提取归档内的目标文件返回。
示例命令:
jfrog.exe rt curl -o filename.nuspec "/api/archive/download/<你的NuGet仓库名>/foldername/packagename.nupkg/!/filename.nuspec"
执行前把命令里的
<你的NuGet仓库名>替换为实际存储包的仓库名称即可。
方案2:流下载+实时解压
如果不想调用接口,也可以通过管道把CLI下载的包流直接传给解压工具提取目标文件,全程不会把完整nupkg包写入本地磁盘。
Windows环境搭配7-Zip的示例命令:
jfrog.exe rt dl foldername/packagename.nupkg --output=- | 7z e -si packagename.nupkg filename.nuspec -r
内容的提问来源于stack exchange,提问作者Joseph Perez
相关产品推荐
相关产品推荐

