Chocolatey: Programme über die Kommandozeile installieren

Laptop Developer Codet

Für alle, die Tools und Programme gerne über die Kommandozeile installieren, habe ich einen heißen Tipp: die Freeware Chocolatey. Dank ihr funktioniert das Ganze auch unter Windows.

So wie man mit dem Befehl npm install [something] ganz einfach JavaScript-Bibliotheken (und deren Abhängigkeiten) installieren kann, so kann man auch unter Windows Anwendungen installieren. Seit einigen Jahren verwende ich dafür die Freeware Chocolatey. Der Vorteil: ich muss nicht immer wissen, wo ich den aktuellen git-Client downloaden kann. Stattdessen kann ich einfach choco install git eingeben und der aktuelle Client wird installiert (inklusive gegebenenfalls notwendiger Voraussetzungen).

Noch einfacher wird es, wenn man immer wieder eine bestimmte Menge an Tools installiert, zum Beispiel auf einer Dev-Umgebung, die regelmäßig platt gemacht werden kann. Dazu kann man all seine Tools in einer XML-Datei sammeln und dann mit choco install devtools.xml auf einmal installieren lassen.

Eine solche XML-Datei sieht in etwa so aus:

<?xml version="1.0" encoding="utf-8"?>
<packages>
    <!-- Dev -->
    <package id="git.install" />
    <package id="gitextensions" />
    <package id="kdiff3" />
    <package id="logexpert" />
    <package id="firacode" />
    <package id="envycoder" />
    <package id="nodejs.install" version="10.18.0" />
    <package id="poshgit" />
    <package id="fiddler" />
    <package id="resharper" />
    <package id="GitVersion.Portable" />
    <package id="NugetPackageExplorer" />
    <package id="postman" />
    <package id="ulsviewer" />
    <package id="winmerge" />

    <!-- Productivity -->
    <package id="googlechrome" />
    <package id="conemu" />
    <package id="notepadplusplus.install" /> 
    <package id="totalcommander" />
    <package id="keepass.install" />
    <package id="paint.net" />
    <package id="putty.install" />
    <package id="teamviewer" />
    <!-- <package id="openjdk8jre" /> -->
    <!-- <package id="openjdk11jre" /> -->
    <package id="azure-cli" />

    <!-- Power-Tools -->
    <package id="autohotkey.install" />
    <!-- <package id="procexp" /> -->
    <package id="spacesniffer" />
    <package id="vlc" />
    <package id="wireshark" />
    <!-- <package id="dropbox" >/ -->
</packages>

Zu beachten ist, dass ich hier nicht die aktuelle Version von Node.js installiere. Grund: Für SPFx wird aktuell nur 10.x offiziell unterstützt. Node.js ist eine plattformübergreifende Open-Source-JavaScript-Laufzeitumgebung, die JavaScript-Code außerhalb eines Webbrowsers ausführen kann. Damit kann zum Beispiel ein Webserver betrieben werden.

Um mit Chocolatey zu starten, muss Chocolatey zunächst einmal selbst installiert werden:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Ein weiterer netter Effekt von Chocolatey ist: Man kann sich mit choco outdated eine Liste von Aktualisierungen anzeigen und mit choco upgrade all alle Tools automatisch updaten lassen (eventuell choco upgrade all -y verwenden, damit man nicht wiederholt gefragt wird)! Auch hier ist es wieder sehr komfortabel, dass die aufwändige Suche nach den aktuellen Versionen einer Anwendung entfällt.


Nach oben scrollen