Какая разница между Chocolatey, OneGet, PsGet, NuGet,...?

Я знаю, что есть много источников пакетов для расширений PowerShell. Я ищу исчерпывающий ответ:

  • шоколадным
  • NuGet
  • PsGet
  • PowerShellGallery
  • OneGet
  • MyGet
  • ProGet
  • ...

все это вписывается в одну общую картину. Обозначим прекращенную или выпущенную версию.

Согласно этому сообщению: Разница между Chocolatey и NuGet NuGet интегрирована только в VisualStudio и предназначена для библиотек.NET.

Ответ 1

OneGet был переименован в Управление пакетами. Его ядро обеспечивает обнаружение и установку/удаление различных пакетов. OneGet часто упоминается как "менеджер менеджера пакетов".

OneGet является частью установки WMF 5. Подумайте об этом как о "центральной концепции" в общей картине. Теперь поговорим о пакетах.

Пакеты загружаются через поставщиков пакетов. Например, PowerShellGet является одним поставщиком пакетов для OneGet. Галерея Powershell - это пакетный источник PowershellGet (PSGet). Поставщик может иметь несколько источников, где он может искать свои пакеты.

Например, для поставщика пакета nuget; вы можете легко добавить источники в общедоступную галерею nuget и зарегистрировать свой собственный источник, например, myget, чтобы его можно было использовать при поиске пакетов.

Chocolatey - еще один пример поставщика пакетов. Раньше он должен был быть установлен и был отдельным модулем с собственной логикой. Новый поставщик Chocolatey соответствует новой структуре установки/управления пакетами.

Итак, на более концептуальном уровне; сам поставщик пакетов содержит информацию о том, как устанавливать и искать источники (источники могут быть зарегистрированы/незарегистрированы для каждого провайдера); в то время как OneGet (управление пакетами, менеджер менеджера пакетов) работает на вышеуказанном уровне, управляя поставщиками пакетов и связывая это все для вас.

OneGet склеивает все это вместе; в то время как сами поставщики знают, как обрабатывать пакеты на основе своих зарегистрированных источников.

Надеюсь, это объяснит это на концептуальном уровне.

См. Также этот приятный блогпост, объясняющий несколько вещей более подробно: https://blogs.technet.microsoft.com/packagemanagement/2015/05/05/10-things-about-oneget-that-are-completely-different- чем вы думаете, /

Если вы хотите поиграть с поставщиками пакетов и источниками:

 Get-PackageProvider # -Shows package providers installed on your machine)
 Find-PackageProvider # -Find online package providers you can pull down and install)
 Get-PackageSource # -List all package sources, with its provider name)
 Register-PackageSource # -Register new package source for a provider)

Это лишь некоторые примеры. Получите более обширный список, вызвав следующую команду:

Get-Command -Module PackageManagement