Co je Chocolatey a jak ji nainstalovat?

Chocolatey: Správce balíčků pro Windows

Operační systém Windows je známý svou uživatelskou přívětivostí. Málokdo ale ví, že jej lze do jisté míry konfigurovat pomocí open-source nástrojů, jako je například Chocolatey, často označovaný zkráceně jako Choco.

Co je Chocolatey?

Chocolatey je open-source správce balíčků pro Windows, který se podobá správcům balíčků jako DNF nebo APT, známým z prostředí Linux. Správci balíčků jsou neocenitelní pro vývojáře a pokročilé uživatele, kteří potřebují efektivně instalovat, aktualizovat nebo odstraňovat programy na svém systému.

Než se ponoříme hlouběji do Chocolatey, pojďme si nejprve objasnit, co to vlastně správce balíčků je.

Správce balíčků: Co to je?

Správce balíčků vám v operačním systému umožňuje systematicky sledovat nainstalované programy. Můžete tak jednoduše zjišťovat, jaký software máte na počítači, aktualizovat jej nebo instalovat nový. Pokud už nějaký program nepotřebujete, můžete ho pomocí správce balíčků také snadno odinstalovat.

Jednoduše řečeno, správce balíčků pracuje s „balíčky“, tedy se softwarem. Z pohledu počítače je balíček soubor nainstalovaných, aktualizovaných nebo smazaných dat.

Důležitou funkcí správců balíčků je prevence konfliktů mezi programy a nechtěného odstraňování systémově důležitých komponent. Často se stává, že jeden balíček závisí na jiném. Správce balíčků zajistí, aby tyto závislosti byly vždy v pořádku a nedocházelo k problémům.

Představme si dva balíčky, A a B, přičemž balíček A je závislý na B. To znamená, že aby A fungoval, musí být B nainstalován a funkční. Například program GIMP, který slouží k úpravě obrázků, potřebuje pro správnou funkci i datový balíček GIMP.

Existuje mnoho populárních správců balíčků. Linux například používá DNF a APT.

Windows má také vlastní řešení v podobě Správce balíčků systému Windows (Winget). Tento nástroj, ovládaný z příkazového řádku, umožňuje vývojářům vyhledávat, aktualizovat, odstraňovat a instalovat aplikace. Více informací naleznete na GitHubu projektu Winget.

Kromě Wingetu je tu i Chocolatey, volně dostupný a open-source správce balíčků. Podívejme se na něj blíže.

Chocolatey Package Manager: Co nabízí?

Chocolatey je správce balíčků pro Windows, který pracuje z příkazového řádku a je dostupný zdarma pod licencí Apache 2.0. Pro komerční využití nabízí Chocolatey placené varianty s pokročilejšími funkcemi. Je postaven na NuGetu, správci balíčků zaměřeném na vývojáře.

Stejně jako ostatní správci balíčků, Chocolatey usnadňuje vývojářům a IT pracovníkům správu softwaru na počítačích. Chocolatey využívá balíčky, díky kterým lze software snadno aktualizovat, odstraňovat nebo instalovat. Díky automatizaci je celý proces i rychlejší.

Využití a účel Chocolatey

Chocolatey je oblíbený zejména mezi vývojáři a IT administrátory, kteří spravují software na větším počtu počítačů. Své uplatnění nachází i v DevOps, kde automatizuje opakované úkoly jako nasazování binárních souborů, skriptů, instalačních programů, aplikací a softwarových balíčků.

Výhodou Chocolatey je, že eliminuje nutnost ruční instalace softwaru. Uživatel nemusí balíček vyhledávat, stahovat a instalovat. S Chocolatey stačí zadat jednoduchý příkaz a veškeré potřebné kroky se provedou automaticky, včetně instalace závislostí.

Je to užitečné především pro týmy, které pracují v komplexním prostředí Windows. Usnadňuje a urychluje vývoj softwaru, automatizuje manuální úkony a nabízí integraci s nástroji pro automatizaci infrastruktury.

Instalace Chocolatey na Windows

Instalace Chocolatey je snadná. Stačí postupovat podle následujících kroků:

Krok 1: Kontrola požadavků

Před instalací se ujistěte, že splňujete tyto požadavky:

  • Operační systém Windows (klient nebo server).
  • .NET Framework 4.8 nebo vyšší.
  • PowerShell verze 2 nebo vyšší.

Krok 2: Spuštění PowerShellu a nastavení Get-ExecutionPolicy

Spusťte PowerShell na vašem počítači s Windows jako administrátor.

Dále je potřeba ověřit, že Get-ExecutionPolicy je nastaven na hodnotu „neomezené“. Pokud tomu tak není, instalace Chocolatey nebude možná. Můžete použít možnost „Obejít“, nicméně pro větší bezpečnost se doporučuje nastavení „AllSigned“, pokud vaše organizace neumožňuje spouštění skriptů z internetu.

Zadejte jeden z následujících příkazů a nastavte Get-ExecutionPolicy podle vašich potřeb:

$ Set-ExecutionPolicy AllSigned

nebo

$ Set-ExecutionPolicy Bypass -Scope Process

Krok 3: Spuštění příkazu pro instalaci Chocolatey

Po nastavení ExecutionPolicy můžete v shellu spustit následující příkaz a zahájit instalaci:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Krok 4: Ověření instalace

Pokud se příkaz provedl bez chyb, je Chocolatey s největší pravděpodobností úspěšně nainstalován.

Pro ověření zadejte:

$ choco

nebo

$ choco -?

Gratulujeme, Chocolatey je nainstalován! Můžete jej nainstalovat i přes CMD. Stačí zkopírovat a vložit následující příkaz do okna CMD spuštěného jako administrátor:

@"%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"

Výstup by měl vypadat přibližně takto:

Getting latest version of the Chocolatey package for download.                     Not using proxy.

Getting Chocolatey from https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2.

Downloading https://community.chocolatey.org/api/v2/package/chocolatey/2.2.2 to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip

Not using proxy.

Extracting C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall\chocolatey.zip to C:\Users\nitis\AppData\Local\Temp\chocolatey\chocoInstall

Installing Chocolatey on the local machine

Creating ChocolateyInstall as an environment variable (targeting 'Machine')

  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'

WARNING: It's very likely you will need to close and reopen your shell

  before you can use choco.

Restricting write permissions to Administrators

We are setting up the Chocolatey package repository.

The packages themselves go to 'C:\ProgramData\chocolatey\lib'

  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).

A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'

  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

chocolatey.nupkg file not installed in lib.

 Attempting to locate it from bootstrapper.

PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...

WARNING: Not setting tab completion: Profile file does not exist at

'C:\Users\nitis\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.

Chocolatey (choco.exe) is now ready.

You can call choco from anywhere, command line or powershell by typing choco.

Run choco /? for a list of functions.

You may need to shut down and restart powershell and/or consoles

 first prior to using choco.

Ensuring Chocolatey commands are on the path

Ensuring chocolatey.nupkg is in the lib folder

Používání Chocolatey

Chocolatey se ovládá pomocí příkazů z příkazové řádky. Například pro instalaci programu notepadplusplus použijte:

$ choco install notepadplusplus

Podobně můžete instalovat i další software, jako například GitHub.

Pokud si nejste jisti dostupností balíčku, použijte vyhledávání:

$ choco search gitY

Více aplikací můžete instalovat najednou:

$ choco install git gimp notepadplusplus

Pro odinstalaci použijte:

$ choco uninstall gimp

Seznam balíčků k instalaci lze uložit do XML souboru:

$ choco install packages.config -y

Soubor packages.config obsahuje seznam všech balíčků.

Pro aktualizaci všech balíčků použijte:

$ choco upgrade all

Další užitečné příkazy:

  • $ choco list → seznam místních nebo vzdálených balíčků
  • $ choco info [package_name] → informace o balíčku
  • $ choco upgrade [package_name] → aktualizace balíčku
  • $ choco outdated → seznam zastaralých balíčků

Odinstalace Chocolatey

Chocolatey se odinstaluje smazáním složky C:\ProgramData\chocolatey, případně složky, do které jste ji nainstalovali. Pokud si nejste jistí, kde se Chocolatey nachází, použijte příkaz:

$ env:ChocolateyInstall

Před odinstalací si zálohujte složky bin a lib, protože obsahují nainstalované balíčky. Dále je potřeba smazat nebo upravit následující proměnné prostředí:

  • ChocolateyInstall
  • ChocolateyToolsLocation
  • ChocolateyLastPathUpdate
  • PATH

Srovnání: Chocolatey vs. Windows Package Manager (Winget)

Chocolatey není jediný správce balíčků pro Windows. Existuje i Winget. Který z nich si vybrat? Podívejme se na srovnání:

#1. Funkce

Chocolatey nabízí širokou škálu funkcí. Základní verze je open-source a umožňuje správu balíčků v prostředí Windows. Pro pokročilejší uživatele je k dispozici i verze Pro s vylepšenou spolehlivostí a ochranou proti malwaru. Podniková verze Enterprise for Business pak umožňuje automatizaci softwarového cyklu Windows.

Winget je zaměřen na zjednodušenou správu balíčků pomocí manifestu YAML pro vytváření, odesílání a odstraňování balíčků.

#2. Cena

Oba nástroje mají bezplatnou open-source verzi. Nicméně pouze Chocolatey nabízí placené varianty s pokročilými funkcemi.

#3. Snadnost použití

Snadnost použití je subjektivní, protože oba nástroje se ovládají z příkazové řádky. Instalace Wingetu je jednodušší, protože je dostupný v Microsoft Store. Chocolatey vyžaduje spuštění příkazů a práci s nastavením ExecutionPolicy.

#4. Úložiště

Chocolatey spravuje vlastní úložiště s více než 9500 balíčky. Winget se pro stahování a distribuci balíčků spoléhá na jiné zdroje.

Komunita Chocolatey je velmi silná, protože projekt existuje již více než deset let. Winget takovou komunitu nemá.

Závěr

Chocolatey je praktický a populární správce balíčků, který nabízí bohatou funkcionalitu, kvalitní dokumentaci a podporu komunity. Je open-source a tedy zdarma pro všechny uživatele.

Placené verze Chocolatey jsou vhodné pro firmy, které vyžadují pokročilé funkce pro správu složitých projektů ve Windows.

Dále si můžete přečíst o tom, jak nainstalovat Node Version Manager (NVM) na Windows a MacOS.