Chocolatey 如何知道本地安装了哪些包?

How does Chocolatey know which packages are installed locally?

Chocolatey如何确定本地系统上安装了哪些软件包?

不知何故 choco list -localonly 列出本地安装的包并在进程中调用 nuget.exe。在 NuGet 中,我知道 packages.config 列出了已安装的包,但在 Chocolatey 中,我似乎找不到类似的文件。

choco list -lo 仅列出您已安装的软件包的最新版本。

旧的 choco 调用 nuget.exe,新的 choco (0.9.9+) 直接执行它,因为它有 nuget.core 内置。

当您调用 list -lo 时,它会针对 %ChocolateyInstall%\lib 生成一个列表。如果存在同一个包的多个版本,则只会列出最新版本。使用 list -lo -a 显示本地可用的同一软件包的所有版本。

此外,它不是基于文件夹,而是基于这些文件夹中的实际 nupkg 文件。

如果您需要程序和功能列表,请添加 -i 作为选项。有关详细信息,请参阅 choco list -hdocs page