在审核chocolatey packages可用时,我遇到了一些显然有两个(或有时更多)包装的同一产品。乍一看是不可能分辨出来的。
例如,有 AutohotKey 包,然后还有 Autohotkey。安装 包。
两种类型的包之间有什么区别?
答案 0 :(得分:17)
在这里查看Chocolatey wiki中的常见问题解答:
引用该文章:
tl; dr:几乎100%的时间,没有后缀的软件包(本例中为autohotkey)将确保* .install。没有后缀的软件包既可以发现,也可以依赖其他软件包。
Chocolatey具有虚拟包(即将推出)和元包的概念。虚拟包是用作依赖项时表示其他包的包。 Metapackages是仅存在以提供依赖关系组的包。
没有后缀的包由具有后缀的包围绕,是提供虚拟包。所以对于git,git.install和git.commandline(不推荐使用.portable) - git就是那个虚拟包(目前它只是一个元数据包,直到虚拟包功能完成)。这意味着其他软件包可能依赖于它,您可以安装git.install或git.portable,并且您将满足安装git的依赖性。这使得Chocolatey无法安装已经满足包的依赖性要求的东西。
具体讨论* .install软件包后缀 - 这些软件包适用于具有捆绑或下载并运行的本机安装程序的软件包。
注意:之前使用的后缀* .app与* .install的含义相同。但* .app后缀现已弃用,不应用于新包。
* .portable包是通常会在您的路径上导致可执行文件的软件包,但不会安装到系统上(添加/删除程序)。以前,后缀* .tool和* .commandline用于指代相同类型的包。
注意:现在* .tool和* .commandline已弃用,不应用于新软件包。
答案 1 :(得分:0)
最近使用 choco
设置了一个新环境,也对此感到好奇。 Chocolatey 似乎创建了一个专门的文档站点并将常见问题解答移到那里,将链接更新为: