Chocolatey – Der Paketmanager für Windows

Wenn man ein mal mit der Linuxwelt in Kontakt gekommen ist, dann hat man meist auch sehr schnell gefallen daran gefunden, dass System mit einen Befehl komplett zu updaten.
Die Windows Updatefunktion bringt leider nur Systemupdates und einige wenige ausgesuchte Treiber und so bleibt uns meistens nicht anderes über, als jedes Programm einzeln runter zu laden und zu installieren, sobald eine neue Version erschienen ist… Das ist leider recht nervig und führt oft dazu das man nicht mit der aktuellsten Software arbeitet, außer Sie updatet sich selbst oder weißt einen mehr oder weniger penetrant auf ein Update hin.

Interessant ist, das Windows schon einen Paketmanager hat, dieser heißt NuGet und wird als Visual Studio-Erweiterung ausgeliefert. Genutzt wird NuGet laut wikipedia nur von SharpDevelop und LINQPad..
Hier kommt Chocolatey ins spiel. Chocolatey automatisiert quasi die Installation von Software via NuGet.

Um Chocolatey zu isntallieren, öffnet man die Shell und führt foglgenden Befehl aus.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Jetzt ist Chocolatey installiert und einsatzbereit.

Ein Programm installiert man mit

cocolatey install Programmname

oder kurz mit

cinst Programmname

Um ein Programm zu isntallieren, muss man natürlich erst einmal wissen, welche Programme uns Chocolatey anbietet. Das finden wir raus indem wir auf http://chocolatey.org/packages nachschauen oder uns mit foglenden Befehl die liste aller Programme ausgeben lassen

chocolatey list (Programmname)

oder kurz

clist (Programmname)

Mit dem optionalen Parameter Programmname, kann man auch gezielt nach einem Programm suchen.

Deinstallieren kann man die die Pakete einfach wieder mit

cocolatey uninstall Programmname

oder kurz mit

cuninst Programmname

Um alle installierten Pakete zu updaten benutzt man

cocolatey update all

oder kurz mit

cup all

Statt all kann man auch nur ein einzelnes Programm angeben, welches man updaten möchte.

Ich nutze Chocolatey jetzt circa ein halbes Jahr und muss sagen, gerade mit den letzten Version ist es echt brauchbar geworden. Ich habe 38 Pakete via Chocolatey installiert, welche ich sonst höchst selten oder nie upgedatet habe.

Homepage:

http://chocolatey.org/

Github:

https://github.com/chocolatey

Commands Reference:

https://github.com/chocolatey/chocolatey/wiki/CommandsReference

2 Kommentare

  1. Irgendwie habe ich jetzt kein Datum zu diesem Beitrag gefunden – daher weiß ich nicht, wie alt er ist. Aber da hier von 38 Paketen die Rede ist, vermute ich mal, dass der Beitrag schon älter ist. (Aktuell „kennt“ Chocolatey mehr als 1000 Pakete). Ich bin CoAutor eines Alternativen Projektes „Luffi“, das Du Dir mal ansehen solltest. Aktuell „kennt“ Luffi knapp 1200 echte Freewarprogramme. Schreib mir mal ein Feedback! lg aus Wien, Ralf

    Link: http://www.luffi.net/Luffi

  2. Hi Ralf,

    der Beitrag is von November, die 38 Programme bezogen sich auf die, welche ich installiert habe. Chocolatey selbst unterstützt inzwischen ~1600 Programme.
    Luffi finde ich aktuell nicht wirklich interessant, da ich da aktuell keinen Vorteil erkennen kann. Im Gegenteil, mir fallen da eher eingie große Nachteile auf. Das Projekt scheint nicht Open Source zu sein, User können keine eigenen Programme hinzufügen und die Doku ist einfach nur eine Katastrophe (Ich bin mir nicht ganz sicher, aber es gibt wohl nicht mal die Möglichkeit es via Power Shell zu steuern).
    Ich hoffe, du fühlst dich nicht auf den Schlips getreten.
    Ich persönlich hätte gern einen Paketmanager wie Pacman von Archlinux und bei Chocolatey hätte ich zumindest die Möglichkeit es zu forken und etwas nach meinen Wünschen anzupassen….

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.