为什么 Chocolatey 列出了多余的包,我可以删除它们吗?

为什么 Chocolatey 列出了多余的包,我可以删除它们吗?

打开 choco lib 文件夹,我可以看到很多文件。我记得安装的唯一东西是 python 和 ffmpeg,当然还有 Chocolatey。但其余的是什么?还有 3 个 Python 实例?我可以删除它们吗?

C:\ProgramData\chocolatey\lib>choco list -lo
Chocolatey v1.1.0
chocolatey 1.1.0
chocolatey-compatibility.extension 1.0.0
chocolatey-core.extension 1.4.0
chocolatey-windowsupdate.extension 1.0.4
ffmpeg 6.0
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
python 3.11.4
python3 3.11.4
python311 3.11.4
vcredist140 14.32.31326
vcredist2015 14.0.24215.20170201
15 packages installed.

答案1

即使你尝试删除大多数软件包,它也不会允许你删除它们,只有你安装的软件包才可以删除。因为额外的软件包包括:

  • 依赖项 - 例如,可以看到python3包需要vcredist2015这里vcredist2015, 另一方面,需要 vcredist140。 然后依靠多个 KB 补丁和 Chocolatey Core Extensions。等等。

    最常见的依赖项是 Windows 补丁、Visual 可再发行组件、.NET 框架和其他流行的编程环境/运行时,如 Java 或 Python。在文档

Chocolatey 有虚拟包(即将推出)和元包的概念。虚拟包是用作依赖项时代表其他包的包。元包是仅用于提供一组依赖项的包。

被带后缀的软件包包围的没有后缀的软件包将提供虚拟软件包。因此,在gitgit.installgit.commandline(已弃用.portable)的情况下 –git是虚拟软件包(目前它实际上只是一个元软件包,直到虚拟软件包功能完成)。这意味着其他软件包可以依赖它,并且您可以安装git.installgit.portable,并且您将满足已安装的依赖关系git。这可以防止 Chocolatey 尝试安装已经满足软件包依赖关系要求的东西。

就你的情况而言,python基本上是有点不同类型的元包如果您以后想要更新到最新的 Python 版本,无论是主要版本还是次要版本更改,您都需要安装它。它本身不执行任何操作,而是依赖于python3,而后者又依赖于较小的版本,例如python312,最后该包会安装软件。

这只是组织事物的一种方法。

相关内容