Frank Hliva - PlutonKrea s.r.o

Front-end Developer & majiteľ

rokov skúsenosti

rokov prax

roky React

Úvod / Blog / Chocolatey - správca balíkov pre Windows

Chocolatey - správca balíkov pre Windows

Publikoval Frank Hliva 2019-12-05 12:25:00 print comments
Windows 10 Chocolatey Software NuGet .Net Core Windows Terminal MS

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 (dalej 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ť, šťahovať ani inštalovať, len si to proste napíšeš yum install názov-aplikácie (ak si používal RHEL, Cent OS, 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 apllikacií má svoj balíček v Chocolatey. Microsoft používa ako primárny distribučný kanál na software svoj Windows Store čo je svojim 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 Power Shell správca: viac na tomto obrázku. Niektoré novšie balíky nepotrebujú správcovský mód, ale vačšina áno.

Do konzoly (PowerShell, alebo Windows Terminal) napíš:

choco install googlechrome

Týmto commandom sa nainštaluje aktuálne Chrome. Uvediem ešte ďaľšie príklady:

Balík / Aplikácia Poznámka Príkaz
VLC média 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
WhatsApp 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-dev

A komu sa nechce písať vôbec ten si stiahne GUI nadstavbu pre chocolatey. Volá sa chocolatey-gui (aké prekvapenie) a tu je screen a tu je príkaz ktorým ho nainštaluješ: choco install chocolategui. 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
Chocolatey Hromadný upgrade nainštalovaných balíčkov

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 7zip

Balíčkovací manager vznikol z NuGet - čo je balič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 install - starší package manage 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).