Chocolatey - správca balíkov pre Windows

Ak si už v minulosti používal alternatívne operačné systémy, určite si zvykol na ten luxus, ktorý ti dáva správca balíčkov (ďalej package manager). Všetok soft máš na jednom mieste v jednom centrálnom repozitári, o ktorý sa starajú autori distribúcie. Nemusíš nič hľadať, sťahovať ani inštalovať, len si to proste napíšeš yum install názov-aplikácie (ak si používal RHEL, CentOS, Oracle Linux, či Fedoru), či sudo pacman -S názov-aplikácie (ak si používal Arch, Manjaro Linux, ArcoLinux, AnarchyLinux), alebo sudo apt install názov-aplikácie (ak si používal Debian, Ubuntu). A je pravdepodobnosť hraničiaca s istotou, že do inštalovaného softu nikto nikdy nepribalí nejaký malware (aj keď nikdy nehovor nikdy). Kto je moc fajnový a nebaví ho písať príkazy do konzoly, ten si stiahne nejakú GUI nadstavbu (napr. Pamac pre pacman).
Windows 10 čím ďalej tým viac preberá filozofiu takýchto console-like systémov a popri fantastickom Windows Terminal už má aj vlastný package manager Chocolatey - väčšina bežných aplikácií má svoj balíček v Chocolatey. Microsoft používa ako primárny distribučný kanál na software svoj Windows Store čo je svojím spôsobom tiež package manager - aj keď klikací a určený pre BFU. Chocolatey je určený skôr power userom, ktorí namiesto klikania myškou preferujú klávesnicu… MS tento distribučný kanál používa tiež. Napr. Windows Terminal sa ocitol najprv v Chocolatey a až o pár dní neskôr vo Windows Store. Tak a teraz si ukážeme akým spôsobom nainštalujem balík (dajme tomu taký Chrome):
Upozornenie: predtým než začneš čokoľvek inštalovať, spusti si konzolu v správcovskom móde. Ako na to? Klik PRAVÝM tlačítkom na ikonu štart a potom zvoľ položku Windows PowerShell (správca): viac na tomto obrázku. Niektoré novšie balíky nepotrebujú správcovský mód, ale väčšina áno.
Do konzoly (PowerShell, alebo Windows Terminal) napíš:
choco install googlechromeTýmto commandom sa nainštaluje aktuálne Chrome. Uvediem ešte ďalšie príklady:
| Balík / Aplikácia | Poznámka | Príkaz |
|---|---|---|
| VLC media player | obľúbený multimediálny prehrávač | choco install vlc |
| .NET Core | Multiplatformný FW od MS | choco install dotnetcore |
| JRE | Java Runtime | choco install jre8 |
| Komunikačná appka od Facebooku | choco install whatsapp | |
| Viber | Komunikačná appka | choco install viber |
| nové Edge dev | browser od MS postavený na Chromáckom jadre Blink | choco install microsoft-edge-insider-dev |
| 7zip | fajnová free alternatíva k WinRAR | choco install 7zip.install |
| Git | distribuovaný systém riadenia revízií | choco install git.install |
| VSCode | jednoduchý editor pre developerov | choco install vscode |
| Visual Studio 2019 | komplexné vývojové prostredie pre stovky rôznych jazykov napr. C#, F#, C++, Python, Ruby, JS | choco install visualstudio2019community |
alebo ak sa mi nechce toľko písať, tak si to zjednoduším a nainštalujem všetko naraz - jedným príkazom:
choco install firefox vlc dotnetcore jre8 whatsapp viber microsoft-edge-insider-devA komu sa nechce písať vôbec, ten si stiahne GUI nadstavbu pre Chocolatey. Volá sa chocolatey-gui (aké prekvapenie), tu je screen a tu je príkaz ktorým ho nainštaluješ: choco install chocolateygui. Všetky ostatné balíčky nájdeš tu: https://chocolatey.org/packages. Ja som si appky nainštalované klasicky odinštaloval a následne nainštaloval cez Chocolatey. Výhoda je, že si ich viem všetky hromadne spravovať, všetky upgradnúť jedným príkazom a krásne z konzoly, aha:
choco upgrade all
Takže už nemusím zisťovať či mám aktuálnu verziu… Taktiež si viem balíčky cez Chocolatey trebárs odinštalovať a dokonca nie jeden, ale viac naraz:
choco uninstall notepadplusplus googlechrome atom 7zipBalíčkovací manager vznikol z NuGet - čo je balíčkovací systém pre .NET. Len nechápem prečo každý jazyk a technológia musí mať vlastný manager s vlastnou syntaxou, ja mám vo Windows aktuálne tieto:
| Package manager | Poznámka |
|---|---|
| Chocolatey | package manager pre Windows |
| OneGet | package manager pre Windows |
| Windows Store | package manager pre Windows |
| dotnet | package manager pre .NET Core |
| NuGet | package manager pre .NET Framework |
| MSI | Microsoft Installer - starší package manager od MS |
| apt | package manager pre WSL - Ubuntu / Debian |
| npm | základný package manager pre Node.JS |
| opam | package manager pre funkcionálny jazyk OCaml |
| cargo | package manager pre jazyk Rust |
Jednoducho každé ďalšie prostredie má svoj - napr. OCaml má svoj Opam, Haskell má Cabal, Rust má svoje Cargo. Nechápem prečo ich nevedia zjednotiť do jedného (aspoň teda tie od Microsoftu by mohli).


