什么是巧克力“安装”包?

时间:2015-04-23 15:57:02

标签: packages chocolatey

在审核chocolatey packages可用时,我遇到了一些显然有两个(或有时更多)包装的同一产品。乍一看是不可能分辨出来的。

例如,有 AutohotKey 包,然后还有 Autohotkey。安装 包。

两种类型的包之间有什么区别?

2 个答案:

答案 0 :(得分:17)

在这里查看Chocolatey wiki中的常见问题解答:

https://github.com/chocolatey/choco/wiki/ChocolateyFAQs#what-is-the-difference-between-packages-no-suffix-as-compared-to-install-portable

引用该文章:

  

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已弃用,不应用于新软件包。

     

想了解更多信息?见http://ferventcoder.com/archive/2012/02/25/chocolatey---guidance-on-packaging-apps-with-both-an-install.aspx

答案 1 :(得分:0)

最近使用 choco 设置了一个新环境,也对此感到好奇。 Chocolatey 似乎创建了一个专门的文档站点并将常见问题解答移到那里,将链接更新为:

https://docs.chocolatey.org/en-us/faqs#what-is-the-difference-between-packages-no-suffix-as-compared-to.install.portable