Что такое установочный пакет Chocolatey?

Изучая доступные упаковки шоколада, я наткнулся на некоторые из них, в которых есть две (а иногда и больше) упаковки для одного и того же продукта. На первый взгляд невозможно отличить.

Например, есть пакет AutohotKey, а также пакет Autohotkey.install.

В чем разница между обоими типами пакетов?


person j4v1    schedule 23.04.2015    source источник


Ответы (2)


Взгляните на часто задаваемые вопросы в вики Chocolatey здесь:

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

Цитата из той статьи:

Вкратце: почти в 100 % случаев пакет без суффикса (в данном примере — autohotkey) гарантирует, что *.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

person Gary Ewan Park    schedule 23.04.2015
comment
На самом деле я задал вопрос ниже этого (спасибо за указание на FAQ). Если он отредактирован, он будет отмечен как ответ. Спасибо. - person j4v1; 24.04.2015
comment
Ах, извините, я неправильно понял ваш вопрос и предположил, о чем вы спрашивали :-) Я обновил ответ. - person Gary Ewan Park; 24.04.2015
comment
Так что же надо установить, какая разница по системе? - person Kalaschnik; 18.09.2019
comment
Вы можете установить любой. т. е. если вы используете команду choco install 7zip, то на вашу машину будут добавлены пакеты 7zip и 7zip.install. Если вы введете команду choco install 7zip.install, будет добавлен только установочный пакет. В командной строке проще набрать первую команду. В среде со сценарием я бы, скорее всего, использовал последнюю команду. - person Gary Ewan Park; 18.09.2019

Недавно настроил новую среду с choco и тоже заинтересовался этим. Chocolatey, по-видимому, создал специальный сайт документации и переместил туда часто задаваемые вопросы, обновив ссылку на:

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

person James    schedule 07.03.2021