内容提要
vcpkg发布2026年10月注册表更新:新增41个端口,更新806个端口,移除22个端口,端口总数达2877个。工具改进包括可配置二进制缓存压缩级别、修复缓存预检与上传诊断、保留注册表错误信息、新增Apple平台表达式。主要端口更新有Boost 1.92、curl 8.23、OpenSSL 3.6.5、Qt Base 6.11.2等。文档同步更新,178位社区贡献者参与。
延伸解读
二进制缓存压缩级别可调:在体积与时间之间取舍
本次工具更新允许通过 --binary-cache-compression-level 或环境变量 VCPKG_BINARY_CACHE_COMPRESSION_LEVEL 设置 ZIP 二进制缓存的压缩级别(0-9)。级别越低,缓存归档体积越大,但提交缓存所需时间越短;命令行选项优先于环境变量。该设置不改变包 ABI,也不影响已有归档的恢复,NuGet 打包不受影响。对于频繁上传缓存的团队,可据此在存储成本与等待时间之间做权衡。
缓存与注册表诊断改进:减少误导性报错
本次修复了二进制缓存预检在过滤操作列表后将提供方结果错误分配给其他包的问题,使缓存可用性报告更准确;同时统一了缓存上传失败诊断信息,便于定位提交问题。注册表错误也不再被替换为误导性的“端口不存在”提示,而是保留底层错误。这些改动不改变包内容,但能帮助开发者更快区分网络、认证或配置问题,减少排查成本。
端口更新与移除:升级依赖时需留意
注册表新增41个端口、更新806个、移除22个,总数达2877个。主要更新包括 Boost 1.92.0、curl 8.23.0、OpenSSL 3.6.5、Qt Base 6.11.2、Armadillo 15.6.1 等。移除列表包含 tensorflow、v8、sdl1 系列、vulkan-hpp 等端口。依赖这些被移除端口的项目在升级注册表后可能无法直接解析,建议在升级前检查项目清单并评估替代方案。
Apple 平台表达式与文档同步
端口元数据新增 apple 平台表达式,可用一个表达式覆盖 Apple 目标平台,减少为各 Apple 系统分别编写条件的重复。文档同步补充了 apple 和 bsd 平台家族、平台标识符及修正后的 Xbox 目标条件。此外还记录了 VcpkgManifestInstalledBaseDir、VCPKG_PROVIDED_FORTRAN、print-usage 和 CURL_CA_BUNDLE 等配置项,便于在清单模式和多三元组构建中查阅。
Q&A
vcpkg 2026年10月更新后总共有多少个端口?
vcpkg 2026年10月更新后,精选注册表中共有2877个端口。
如何调整vcpkg二进制缓存的压缩级别?
可以使用命令行选项 --binary-cache-compression-level=<0-9> 或环境变量 VCPKG_BINARY_CACHE_COMPRESSION_LEVEL 来调整压缩级别,命令行选项优先。该设置不会改变包ABI,也不影响现有归档的恢复。
这次更新中Boost、curl、OpenSSL等主要端口升级到了什么版本?
Boost升级到1.92.0,curl升级到8.23.0,OpenSSL升级到3.6.5#2,Qt Base升级到6.11.2,libgit2升级到1.9.7,Vulkan SDK组件升级到1.4.357.0,Armadillo升级到15.6.1,SDL 3升级到3.4.18。
vcpkg 2026年10月更新移除了哪些端口?
移除了22个端口,包括cppdap、ctp、dx、keccak-tiny、kf5diagram、libfreenect2、qtquickcontrols2、rapidfuzz、sdl1、sdl1-mixer、sdl1-net、septag-sx、shiftmedia-libgnutls、sqlpp11-connector-mysql、sqlpp11-connector-sqlite3、tensorflow、tensorflow-cc、tensorflow-common、threadpool、v8、vcpkg-tool-bazel和vulkan-hpp。
vcpkg工具在缓存和错误诊断方面做了哪些修复?
修复了二进制缓存预检在过滤操作列表后将提供者结果分配给错误包的问题,改进了缓存可用性报告;标准化了二进制缓存上传失败诊断;保留了底层注册表错误,不再用误导性的“<port> does not exist”消息替换。
vcpkg新增的apple平台表达式有什么作用?
新增的apple平台表达式用于端口元数据,允许用一个表达式覆盖所有Apple目标平台。
这次更新有多少社区贡献者参与?
共有178位社区贡献者提交了被合并的PR,包含在此次发布中。