You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps Cargo制品源是否支持cargo search?求版本校验方案

问题解答

cargo search对Azure DevOps Cargo制品源的支持情况

Azure DevOps的Cargo制品源目前不支持cargo search命令,这是官方明确的限制,你遇到的404错误正是由此导致。关于未来的支持计划,微软暂未公开具体时间表,需留意Azure DevOps官方更新。

替代实现方案

要实现功能分支lib crate版本号严格大于已发布版本的检查,可采用以下几种方法:

1. 调用Azure DevOps Packages REST API查询版本

直接通过API获取目标crate的已发布版本,再与本地版本对比:

  • 提取本地Cargo.toml中的版本号:
    grep -E '^version = "' ./lib/Cargo.toml | cut -d '"' -f 2
    
  • 使用PAT认证调用API获取远程版本列表(替换占位符为实际信息):
    curl -u :{你的PAT} "https://pkgs.dev.azure.com/{organisation}/{project}/_apis/packaging/feeds/{feed-id}/packages?packageName={crate-name}&protocolType=cargo&api-version=7.1-preview.1"
    
  • 解析返回的JSON数据提取最新版本,用semver等工具做版本对比,确保本地版本更高。

2. 利用cargo metadata查询索引信息

如果已为Azure DevOps Cargo源初始化了索引,可通过cargo metadata获取远程版本:

cargo metadata --format-version 1 --manifest-path ./lib/Cargo.toml | jq '.packages[] | select(.name == "{crate-name}") | .version'

需确保本地cargo配置已正确指向该私有源,且拉取过索引数据。

3. 使用Azure DevOps CLI查询

通过az artifacts命令直接查询已发布的cargo包版本:

az artifacts universal list --feed {feed-name} --name {crate-name} --organization https://dev.azure.com/{organisation} --project {project-name} --query '[].version'

流水线中需提前完成Azure DevOps CLI的认证配置。

内容的提问来源于stack exchange,提问作者jonesn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:12:41