【问题标题】:What's a Chocolatey "Install" package?什么是 Chocolatey“安装”包?
【发布时间】:2015-04-23 15:57:01
【问题描述】:

在查看可用的chocolatey packages 时,我遇到了一些显然为同一产品提供两个(或有时更多)软件包的产品。乍一看是无法分辨的。

比如有AutohotKey包,然后还有Autohotkey.install包。

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

【问题讨论】:

    标签: packages chocolatey


    【解决方案1】:

    在此处查看 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% 的时间,没有后缀的包(本例中为自动热键)将确保 *.install。不带后缀的包是为了可发现性和其他包的依赖。

    Chocolatey 有虚拟包(即将到来)和元包的概念。虚拟包是在用作依赖项时代表其他包的包。元包是仅用于提供一组依赖项的包。

    一个没有后缀的包被有后缀的包包围,就是提供一个虚拟包。因此,对于 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

    【讨论】:

    • 实际上我问了下面的问题(感谢指向常见问题解答)。如果已编辑,会将其标记为答案。谢谢。
    • 啊,对不起,我误读了你的问题,并假设你在问什么 :-) 我已经更新了答案。
    • 那么应该安装什么,在系统上有什么区别呢?
    • 你可以安装任何一个。即,如果您使用命令 choco install 7zip,那么 7zip 和 7zip.install 软件包都将被添加到您的机器中。如果您键入命令 choco install 7zip.install,则只会添加安装包。在命令行中,键入第一个命令更容易。在脚本环境中,我可能会使用后一个命令。
    • 解释不清楚。因此,如果我想安装任何应用程序 - 这是否意味着我不必担心以 (install) 为后缀的应用程序?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2023-02-22
      • 2022-01-23
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多