从 packages.config 的 Chocolatey 导出中排除依赖项

Exclude Dependencies from Chocolatey export for packages.config

Chocolatey 最近启用了对使用 choco export 命令导出所有当前安装的包的支持。此导出包括所有包,包括我真正关心的工具的依赖项。是否可以从导出中排除这些依赖项?

例如,当我安装 Adob​​e Reader 时也使用 choco install adobereader, it also installs kb2919355,因为它现在是 Adob​​e Reader 的依赖项。但我不希望 kb2919355 被列在导出的 packages.config 中,因为依赖项将来可能会发生变化,即使列表中没有特别提到依赖项,无论如何都会安装它。

我不相信 Chocolatey 会跟踪作为依赖项自动安装的内容和您手动安装的内容。它当然会在安装时进行评估,但它会分别进入 Chocolatey 的 liblib-bad 文件夹,具体取决于包安装成功或失败。这是软件包安装跟踪的范围,至少在免费版本中是这样(我无法与许可版本的管理人员交谈)。

换句话说,一个包要么存在要么不存在,而不是“手动安装”或“作为 X、Y、and/or Z 包的依赖项自动安装”。

至此,你至少应该对你的顶层软件需求有了充分的了解,所以做一个choco export,然后相应地从packages.config中删除依赖包。或者,you can create your own packages.config 并且根本不依赖 choco export 首先为您创建文件。

Note: This is more meant to be a quick backup solution of the package state of a machine; what you are trying to do is replace a proper configuration management solution with Chocolatey, which not a tenable or scalable solution long term. I suggest learning a real config management tool to manage machine state long term rather than relying on packages.config since package installation is really only one piece of configuration, while continuing to use Chocolatey to manage package/software installations from said config management solution.