“vcpkg install”失败问题记录

用到一些开源库时,想通过源码编译出来还真挺费劲的。但是通过vcpkg工具,可以很方便地获取到编译好的库。vcpkg 安装指定库的基本命令为 vcpkg install(可以通过vcpkg help install命令查看相关说明)。

实践中,遇到如下几种安装失败的情况。

网络原因导致的失败

安装某个包时,vcpkg会给出一个下载计划,其中列出了目标包及其所依赖的其它包。然后逐个下载、提取(解压)、编译、安装。

由于网络原因,导致下载过程很容易失败。此时,可以根据输出确定到下载失败的包。手动下载后,将其复制到vcpkg安装目录下的downloads子目录(vcpkg会先搜索这里)。直接将手动下载的包复制过去可能不行。需要观察命令行输出中下载该包时指定的名称是否与手动下载的压缩包名称一致。如果不一致,则需要根据命令行内容进行修改。

重新执行安装命令,vcpkg会自动检测已下载的包,并继续下载剩余包,直到目标包安装成功。

下图是vcpkg install fmt执行过程,因为之前安装过,所以没有"Downloading..."过程。

更新vcpkg导致的失败

某天安装包时,先搜索了一下目标包,发现版本比另一台电脑上的版本低。于是,更新了vcpkg。但是,后续安装目标包时报错,如下图所示。

这是因为vcpkg.exe还是旧的。进入vcpkg目录,重新执行.\bootstrap-vcpkg.bat后,问题解决。

PowerShell版本导致的失败

某天安装包时突然提示"A suitable version of powershell-core was not found (required v7.2.24)"。之所以说"突然",是因为我在另一台电脑上安装同一个包没有问题。我一直以为是我哪里误操作导致的,直到我更新了另一台电脑的vcpkg版本后出现了同样的提示。

虽然vcpkg会自动下载新的PowerShell,但是因为网络原因,我没有成功。改用winget工具后成功下载:

下载后的PowerShell位置为"C:\Program Files\PowerShell\7"。打开pwsh.exe,重新执行vcpkg安装命令即可。

注:PowerShell 7真好用啊。

参考资料

  1. 使用vcpkg安装库失败的解决方法

  2. 使用vcpkg安装c++库时出现git网络连接报错和找不到合适的powershell-core的解决方案_a suitable version of powershell-core was not foun

  3. 如何更新Windows自带的PowerShell至最新? - 知乎

  4. 在 Windows 上安装 PowerShell - PowerShell | Microsoft Learn (推荐)

相关推荐
用户21411832636026 分钟前
OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题
后端
草莓熊Lotso27 分钟前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
Olrookie39 分钟前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
LucianaiB1 小时前
招聘可以AI面试,那么我制作了一个AI面试教练不过分吧
后端
CoderCodingNo1 小时前
【GESP】C++五级考试大纲知识点梳理, (5) 算法复杂度估算(多项式、对数)
开发语言·c++·算法
星河队长1 小时前
VS创建C++动态库和C#访问过程
java·c++·c#
无奈何杨2 小时前
CoolGuard更新,ip2region升级、名单增加过期时间
后端
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 自定义静态资源目录 笔记31
spring boot·笔记·后端·spring
Anthony_49262 小时前
逻辑清晰地梳理Golang Context
后端·go
Github项目推荐2 小时前
你的错误处理一团糟-是时候修复它了-🛠️
前端·后端