【发布时间】:2015-04-23 15:57:01
【问题描述】:
在查看可用的chocolatey packages 时,我遇到了一些显然为同一产品提供两个(或有时更多)软件包的产品。乍一看是无法分辨的。
比如有AutohotKey包,然后还有Autohotkey.install包。
这两种类型的包有什么区别?
【问题讨论】:
标签: packages chocolatey
在查看可用的chocolatey packages 时,我遇到了一些显然为同一产品提供两个(或有时更多)软件包的产品。乍一看是无法分辨的。
比如有AutohotKey包,然后还有Autohotkey.install包。
这两种类型的包有什么区别?
【问题讨论】:
标签: packages chocolatey
在此处查看 Chocolatey wiki 中的常见问题解答:
引用那篇文章:
tl;dr:几乎 100% 的时间,没有后缀的包(本例中为自动热键)将确保 *.install。不带后缀的包是为了可发现性和其他包的依赖。
Chocolatey 有虚拟包(即将到来)和元包的概念。虚拟包是在用作依赖项时代表其他包的包。元包是仅用于提供一组依赖项的包。
一个没有后缀的包被有后缀的包包围,就是提供一个虚拟包。因此,对于 git、git.install 和 git.commandline(不推荐用于 .portable),git 就是那个虚拟包(在虚拟包功能完成之前,它实际上只是一个元包)。这意味着其他软件包可以依赖它,您可以安装 git.install 或 git.portable 并且您将满足安装 git 的依赖关系。这可以防止 Chocolatey 尝试安装已经满足包依赖要求的东西。
专门讨论 *.install 包后缀 - 这些包用于具有捆绑或下载并运行的本机安装程序的包。
注意: 以前使用的后缀 *.app 与 *.install 的含义相同。但 *.app 后缀现已弃用,不应用于新包。
*.portable 包通常会在您的路径上的某个位置生成可执行文件,但不会安装到系统上(添加/删除程序)。以前,后缀 *.tool 和 *.commandline 用于指代相同类型的包。
注意:现在 *.tool 和 *.commandline 已弃用,不应用于新软件包。
【讨论】:
(install) 为后缀的应用程序?
最近用choco 设置了一个新环境,也对此感到好奇。 Chocolatey 似乎创建了一个专门的文档站点并将常见问题解答移到那里,并将链接更新到:
【讨论】: