如何卸载vcpkg以及通过vcpkg安装的所有库

29
如何完全删除vcpkg及其所做的所有安装/系统更改?
我记得看到过有关vcpkg的一些常见问题解答,其中说可以直接删除vcpkg文件夹。但是,我已经试图寻找同样的常见问题解答超过一个小时了,没有结果。此外,“只需删除文件夹”作为解决方案对我来说似乎不可行,因为我认为vcpkg会更改一些环境变量或其他设置,并且还包括我尝试使用的Visual Studio集成。在线搜索此主题只产生了人们讨论如何一次删除多个已安装库,即使对于该问题也没有明确的解决方案(我也对此感兴趣)。vcpkg网站本身似乎没有提供有关此问题的答案。
编辑:我在docs.microsoft中找到了说“只需删除vcpkg文件夹”的页面。

1
只需按照建议删除文件夹。如果您将其重新安装在其他目录位置,则还应删除现有的vcpkg位置并删除/修改任何与旧安装位置相关联的环境变量。 - shobhonk
4
如果之前运行了 vcpkg integrate install,那么您可能还想执行 vcpkg integrate remove。请注意,此操作将取消 vcpkg 与 MSBuild 的集成。 - kjpus
1个回答

48

文档页面 https://learn.microsoft.com/zh-cn/cpp/build/vcpkg 提供了卸载 vcpkg 的说明:

卸载 vcpkg

只需删除该目录即可。

可能也需要提到,完全删除 vcpkg 目录会卸载所有已安装的库(所有 ports),因为 vcpkg 目录是 vcpkg.exe 部署任何文件的唯一位置。

此外,如果你运行了 vcpkg integrate install,那么你也可以运行 vcpkg integrate remove 来移除用户范围内 (全局) 的集成。 vcpkg integrate remove 移除用户范围内的集成。


17
AppData\Local目录中还有一个vcpkg文件夹,其中包含一个archive子目录,存储了所有已构建的软件包,还有一个带有“User-Id”和其他个人信息的config文件。 - Rostislav Krasny
对于Linux或macOS,vcpkg二进制缓存文件夹位于~/.cache/vcpkg/archives/。可以使用以下命令列出这些文件(需要unzip):find ~/.cache/vcpkg/archives -name *.zip -type f -exec bash -c 'echo;unzip -c "$0" CONTROL -x */* 2>/dev/null | grep --color=never -E "(Archive|Package|^Version|Feature)"' '{}' \; - undefined
在Linux上,可以使用以下一行命令列出vcpkg二进制缓存中的库:find ~/.cache/vcpkg/archives -name '*.zip' -type f -exec bash -c 'echo;unzip -c "$0" CONTROL -x */* 2>/dev/null | grep --color=never -E "(Archive|Package|^Version)" | sort -u' '{}' \;这是对我之前评论中的命令的改进,之前的命令有噪音且并非总是成功。这个命令可能需要修改才能在macOS上运行。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接