我在NuGet存储库的Jfrog Artifactory中有以下结构
nuget-virtual-repo
|__package1.1.0.nupkg
|__package2.2.0.nupkg
|__package3.3.0.nupkg现在package1.1.0对package2.2.0有一个依赖,并且在它的nuget.dependency属性中提到了它:
nuget.dependency package2:2.0:
此外,package2.2.0还依赖于package3.3.0,在它的nuget.dependency属性中提到了这一点:nuget.dependency package3:3.0:
现在,当我尝试使用jfrog-cli下载package1.1.0时,它不会同时下载其他依赖包:
jfrog-cli.exe rt dl --apikey=<API_KEY> --url=https://<artifactory_url> --detailed-summary nuget-virtual-repo/package1.1.0.nupkg输出:
{
"status": "success",
"totals": {
"success": 1,
"failure": 0
},
"files": [
{
"source": "https://<artifactory_url>/nuget-virtual-repo/package1.1.0.nupkg",
"target": "package1.1.0.nupkg"
}
]
}我使用的规格文件也与此内部,但在这里也只下载一个包:
'files': [
{
'target': 'C:\JfrogCli',
'pattern': 'nuget-virtual-repo/*',
'props': 'nuget.id=package1;nuget.version=1.0',
'limit': 1,
'sortOrder': 'desc',
'sortBy': ['created']
}
]我想要的是递归地下载依赖项,即它应该下载package2.2.0.nupkg和package3.3.0.nupkg。我检查了文档,但没有找到任何这样做的标志。有没有什么我可以修改的,比如在spec文件中,在不明确提及依赖关系的情况下下载它们?
发布于 2020-07-01 19:34:53
您不能仅用JFrog cli替换nuget实现的依赖项管理逻辑。
虽然nuget cli可用于在工件上进行身份验证,并在解析和上传工件的过程中收集元数据,但您仍然需要JFrog (或.net核心)客户端与存储库公开的nuget api交互,并获取所请求包的依赖关系图
您可以做的是将JFrog cli与本机客户端一起使用,如下所示:https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-BuildingNuGetPackages
jfrog rt nugetc --server-id-resolve=<artifactoryServerID> --repo-resolve=nuget-virtual-repo然后
jfrog rt nuget install package1 -Version 1.0这应该会安装所有可传递的依赖项
https://stackoverflow.com/questions/62671430
复制相似问题