2016-06-14 13 views
17

Ich weiß, dass es viele Paketquellen für PowerShell-Erweiterungen gibt. Ich suche für eine umfassende Antwort, wie:Was ist der Unterschied zwischen Chocolatey, OneGet, PsGet, NuGet, ...?

  • Chocolatey
  • NuGet
  • PsGet
  • PowerShellGallery
  • OneGet
  • MyGet
  • Proget
  • ...

alle diese zusammen in einem großen Bild zusammen. Bitte kennzeichnen Sie abgekündigte oder subsumierte Versionen.

Nach diesem Beitrag: Difference between Chocolatey and NuGet NuGet ist nur in VisualStudio integriert und für .NET-Bibliotheken gedacht.

+0

Chocolatey baut auf dem nuget-Protokoll und der Paketstruktur auf. – antlersoft

+2

Ich weiß, dass diese Frage ein bisschen breit ist, aber ich denke, viele andere haben sich vielleicht gefragt: "Wie können all diese *** Werkzeuge und Galerien zusammenspielen?" – Paebbels

Antwort

16

OneGet wurde in Paketverwaltung umbenannt. Es ist Kern bietet Ihnen die Entdeckung und Installation/Deinstallation von verschiedenen Paketen. OneGet wird oft als "Paketmanager-Manager" bezeichnet.

OneGet ist ein Teil der WMF 5 Installation. Betrachten Sie dies als das "zentrale Konzept" im großen Bild. Jetzt reden wir über Pakete.

Pakete werden über Paketanbieter abgerufen. Z.B. PowerShellGet ist ein Paketanbieter für OneGet. Powershell Gallery ist eine Paketquelle von PowershellGet (PSGet). Ein Provider kann mehrere Quellen haben, in denen er nach seinen Paketen suchen kann.

ZB für den nugget-package-anbieter; Sie können die Quellen einfach zur öffentlichen nugget-Galerie hinzufügen und Ihre eigenen z. Myget-Quelle, so dass es bei der Suche nach Paketen verwendet werden kann.

Chocolatey ist nur ein weiteres Beispiel für einen Paketanbieter. Früher musste es installiert werden und war ein separates Modul mit eigener Logik. Der neue Chocolate-Provider entspricht dem neuen Framework der Installation/Verwaltung von Paketen.

Also auf einer eher konzeptionellen Ebene; Ein Paketanbieter selbst enthält Informationen zur Installation und Suche der Quellen (Quellen können für jeden Anbieter registriert/nicht registriert werden); während OneGet (Paketverwaltung, Paketmanager-Manager) auf der darüber liegenden Ebene arbeitet, Paketanbieter verwaltet und alles für Sie verbindet.

OneGet klebt alles zusammen; während der Anbieter selbst weiß, wie er mit Paketen arbeitet, die auf seinen registrierten Quellen basieren.

Hoffe das erklärt es auf der konzeptionellen Ebene.

Siehe auch diese nette Blogpost hier ein paar Dinge mehr im Detail erklärt: https://blogs.technet.microsoft.com/packagemanagement/2015/05/05/10-things-about-oneget-that-are-completely-different-than-you-think/

Wenn Sie mit Paket-Anbietern spielen, um mögen und Quellen:

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) 

Dies sind nur einige Beispiele.Holen Sie sich eine umfangreichere Liste, indem Sie den folgenden Befehl aufrufen:

Get-Command -Module PackageManagement 
+3

"OneGet wurde in Paketverwaltung umbenannt." Nicht ganz zutreffend, PackageManager ist der Name von Microsoft, während das zugrundeliegende Open Source-Projekt immer noch OneGet heißt. –