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

在vcpkg Git注册表中更新包端口版本遇阻求助

自定义vcpkg注册表端口版本更新问题

我通过Git仓库搭建自定义vcpkg注册表,除教程最后一步外其余步骤均已完成。完成步骤5后,我移除了portfile.cmake中的PREFER_NINJA行——由于包(beicode)本身未改动但端口配置有变更,需要将端口版本从0升级至1。

在注册表根目录执行以下命令时:

vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version beicode --verbose

始终返回错误:

error: checked-in files for beicode have changed but the version was not updated
version: 1.0.0
old SHA: eff355de4f3f43319f2e08e7616fea1e024bea29
new SHA: c9d2c5dec1ca77dc200be4a257dd37cefbfd29d4
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
See https://learn.microsoft.com/vcpkg/commands/add-version?WT.mc_id=vcpkg_inproduct_cli#--overwrite-version for more information.
No files were updated

我已提交修改,请问应使用哪个命令完成端口版本更新?

当前versions/b-/beicode.json内容:

{
   "versions": [
      {
         "version": "1.0.0",
         "git-tree": "eff355de4f3f43319f2e08e7616fea1e024bea29"
      }
   ]
}

当前versions/baseline.json内容:

{
   "default": {
      "beicode": {
         "baseline": "1.0.0",
         "port-version": 0
      }
   }
}

解决方案

你需要在命令中明确指定端口版本升级,并跳过已提交变更的SHA校验,正确命令如下:

vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version beicode --port-version=1 --overwrite-version --verbose

执行该命令后会自动完成以下操作:

  • 在versions/b-/beicode.json中新增一条版本条目,保留原1.0.0版本的同时,添加带有新SHA值的1.0.0#1版本记录
  • 将versions/baseline.json中beicode的port-version字段更新为1

如果不想使用--overwrite-version参数,也可以先撤销已提交的变更,执行带--port-version=1的x-add-version命令后,再重新提交所有变更,这样SHA校验就能正常通过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 22:12:46