2016-06-14 13 views
17

Wiem, że istnieje wiele źródeł pakietów dla rozszerzeń PowerShell. Jestem poszukujących kompleksowej odpowiedzi jak:Jaka jest różnica między Chocolatey, OneGet, PsGet, NuGet, ...?

  • Chocolatey
  • Nuget
  • PsGet
  • PowerShellGallery
  • OneGet
  • MyGet
  • PROGET
  • ...

wszystko to pasuje do jednego dużego obrazu. Proszę oznaczać wersje wycofane lub subsumowane.

Zgodnie z tym wpisem: Difference between Chocolatey and NuGet NuGet jest zintegrowany tylko w VisualStudio i przeznaczony dla bibliotek .NET.

+0

Chocolatey jest zbudowany na protokole nuget i strukturze pakietu. – antlersoft

+2

Wiem, że to pytanie jest dość szerokie, ale myślę, że wielu innych mogło zadać sobie pytanie: "Jak to wszystko. *** Czy narzędzia i galerie grają razem?" – Paebbels

Odpowiedz

16

OneGet został przemianowany na Zarządzanie pakietami. Jego rdzeń umożliwia odkrywanie i instalowanie/odinstalowywanie różnych pakietów. OneGet jest często określany jako "menedżer menedżera pakietów".

OneGet jest częścią instalacji WMF 5. Pomyśl o tym jako o "centralnej koncepcji" w wielkim obrazie. Porozmawiajmy teraz o pakietach.

Pakiety są pobierane za pośrednictwem dostawców pakietów. Na przykład. PowerShellGet to jeden dostawca pakietów dla OneGet. Galeria Powershell jest źródłem pakietu PowershellGet (PSGet). Dostawca może mieć wiele źródeł, w których może wyszukiwać pakiety.

Np. Dla dostawcy pakietu nuget; możesz łatwo dodać źródła do publicznej galerii nugetów i zarejestrować własne, np. źródło myget, dzięki czemu można go używać podczas wyszukiwania pakietów.

Chocolatey to kolejny przykład dostawcy pakietów. Wcześniej musiał być zainstalowany i był oddzielnym modułem z własną logiką. Nowy dostawca Chocolatey jest zgodny z nową strukturą instalacji/zarządzania pakietami.

A więc na bardziej koncepcyjnym poziomie; sam dostawca pakietu zawiera informacje na temat instalacji i wyszukiwania jego źródeł (źródła mogą być rejestrowane/niezarejestrowane dla każdego dostawcy); podczas gdy OneGet (zarządzanie pakietami, menedżer menedżera pakietów) działa na powyższym poziomie, zarządzając dostawcami pakietów i łącząc to wszystko za Ciebie.

OneGet klei to wszystko razem; podczas gdy dostawcy wiedzą, jak obsługiwać paczki w oparciu o zarejestrowane źródła.

Mam nadzieję, że wyjaśni to na poziomie koncepcyjnym.

Zobacz także ten miły blogpost tutaj wyjaśniając kilka rzeczy bardziej szczegółowo: https://blogs.technet.microsoft.com/packagemanagement/2015/05/05/10-things-about-oneget-that-are-completely-different-than-you-think/

Jeśli chcesz się bawić z dostawców opakowań i źródeł:

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 it's provider name) 
Register-PackageSource # -Register new package source for a provider) 

Są to tylko niektóre przykłady.Uzyskaj bardziej szczegółową listę, wywołując następujące polecenie:

Get-Command -Module PackageManagement 
+3

"Nazwa OneGet została zmieniona na Zarządzanie pakietami." Nie do końca prawda, PackageManager to nazwa Microsoftu, podczas gdy projekt open source wciąż nosi nazwę OneGet. –

Powiązane problemy