Co to jest Chocolatey i jak go zainstalować?

System Windows, znany ze swojej przyjazności, oferuje użytkownikom spore możliwości konfiguracji. Można go dostosowywać, wykorzystując oprogramowanie open source, takie jak Chocolatey, często określane skrótem Choco.

Chocolatey: Krótki opis

Chocolatey to otwartoźródłowy menedżer pakietów dedykowany systemom Windows. Działa na podobnej zasadzie jak menedżery DNF czy APT w środowisku Linux. Jest to narzędzie szczególnie przydatne dla programistów i zaawansowanych użytkowników, którzy chcą mieć kontrolę nad instalacją, aktualizacją i usuwaniem oprogramowania na swoim komputerze.

Przyjrzyjmy się bliżej Chocolatey, ale zanim to zrobimy, warto zrozumieć, czym właściwie jest menedżer pakietów.

Czym jest menedżer pakietów?

Menedżer pakietów w systemie operacyjnym to narzędzie, które pomaga w śledzeniu zainstalowanego oprogramowania. Umożliwia on nie tylko monitoring, ale także aktualizację i instalację nowych programów. W przypadku, gdy dany program nie jest już potrzebny, menedżer pakietów ułatwia jego usunięcie.

Mówiąc w skrócie, menedżer pakietów zarządza pakietami, czyli zbiorami plików, które składają się na instalowane, aktualizowane lub usuwane programy. Menedżer ten dba o to, by nie dochodziło do konfliktów pomiędzy różnymi programami oraz by nie usuwać elementów niezbędnych dla prawidłowego działania systemu.

Pakiety często zależą od siebie nawzajem. Menedżer pakietów pilnuje, by instalacja jednego programu nie zakłóciła pracy innego. Przykładowo, program A może wymagać do działania pakietu B. Menedżer pakietów upewni się, że pakiet B jest zainstalowany i sprawny przed uruchomieniem pakietu A. Weźmy za przykład GIMP, program do obróbki obrazów, który wymaga dostępu do specjalnego pakietu danych.

Istnieje wiele popularnych menedżerów pakietów. W systemie Linux popularne są DNF i APT.

Przeczytaj również: Krótki przewodnik po Menedżerze pakietów DNF

System Windows również posiada swoje narzędzie do zarządzania pakietami, zwane Menedżerem pakietów Windows (Winget). Działa on w oparciu o linię komend i umożliwia programistom wyszukiwanie, aktualizowanie, usuwanie oraz instalowanie aplikacji w systemie. Więcej informacji znajdziesz na stronie Winget, menedżera pakietów systemu Windows.

Oprócz Winget, mamy także Chocolatey – darmowy menedżer pakietów typu open source. Przejdźmy do omówienia tego narzędzia.

Czym jest menedżer pakietów Chocolatey?

Chocolatey to menedżer pakietów dla systemu Windows, który operuje za pomocą linii komend. Jest bezpłatny, ponieważ bazuje na licencji open-source (Apache 2.0). Chocolatey pozwala na automatyzację instalacji oprogramowania. W przypadku firm dostępna jest również opcja płatna, rozszerzająca możliwości tego narzędzia. Chocolatey bazuje na NuGet, menedżerze pakietów dedykowanym programistom.

Podobnie jak inne menedżery pakietów, Chocolatey umożliwia efektywne zarządzanie oprogramowaniem. Ułatwia ono aktualizację, usuwanie i instalację nowych pakietów. Automatyzacja tych procesów pozwala na oszczędność czasu.

Zastosowanie i cele Chocolatey

Deweloperzy oraz administratorzy IT używają Chocolatey przede wszystkim w środowiskach IT, gdzie zarządzanie oprogramowaniem na wielu komputerach jest na porządku dziennym. Chocolatey dobrze wpisuje się w metodykę DevOps, pozwalając na automatyzację powtarzalnych zadań, takich jak wdrażanie plików binarnych, skryptów, instalatorów, aplikacji czy pakietów oprogramowania.

Zastosowanie Chocolatey eliminuje konieczność ręcznego wyszukiwania, pobierania i instalowania oprogramowania przez użytkownika. Wystarczy jedno proste polecenie, które wykona za nas wszystkie te czynności, wraz z instalacją niezbędnych zależności.

Jest to szczególnie przydatne w zespołach pracujących w złożonych środowiskach Windows. Chocolatey przyspiesza proces tworzenia oprogramowania. Choco oferuje także integrację z narzędziami do automatyzacji infrastruktury.

Jak zainstalować Chocolatey w systemie Windows?

Instalacja Chocolatey jest prosta. Należy wykonać kroki opisane poniżej:

Krok 1: Wymagania

Aby zainstalować Chocolatey, system musi spełniać następujące wymagania:

  • System operacyjny Windows (wersja kliencka lub serwerowa).
  • Zainstalowany .NET Framework w wersji 4.8 lub wyższej.
  • Zainstalowany PowerShell w wersji 2 lub wyższej.

Krok 2: Uruchomienie PowerShell i ustawienie Get-ExecutionPolicy

Następnie, otwórz PowerShell jako administrator.

Konieczne jest upewnienie się, że Get-ExecutionPolicy jest ustawione na wartość „unrestricted”. W przeciwnym razie instalacja Choco może napotkać problemy. Można to obejść, używając opcji „Bypass”, jednak dla zwiększenia bezpieczeństwa najlepiej ustawić „AllSigned”.

Uruchom jedno z poniższych poleceń, aby ustawić Get-ExecutionPolicy:

$ Set-ExecutionPolicy AllSigned

Lub:

$ Set-ExecutionPolicy Bypass -Scope Process

Krok 3: Uruchomienie polecenia instalacyjnego Chocolatey

Po odpowiednim ustawieniu ExecutionPolicy można uruchomić poniższe polecenie, które rozpocznie instalację Choco:

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: Potwierdzenie instalacji

Jeśli powyższe polecenie zostało wykonane bez błędów, Chocolatey powinien być poprawnie zainstalowany.

Aby to potwierdzić, uruchom jedno z poniższych poleceń:

$ choco

Lub:

$ choco -?

Gratulacje! Chocolatey został pomyślnie zainstalowany. Można go zainstalować także z poziomu powłoki CMD. Należy skopiować i wkleić poniższe polecenie do wiersza poleceń uruchomionego z uprawnieniami administratora:

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

Po wykonaniu tego polecenia, powinno pojawić się na ekranie następujące wyjście:

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

Korzystanie z Chocolatey

Obsługa Chocolatey jest intuicyjna. Ponieważ działa w oparciu o linię komend, należy korzystać z odpowiednich poleceń.

Na przykład, aby zainstalować notepadplusplus, należy wpisać poniższe polecenie:

$ choco install notepadplusplus

Podobnie można instalować inne programy lub pakiety, takie jak GitHub.

Jeśli nie znasz dokładnej nazwy pakietu, można skorzystać z opcji wyszukiwania:

$ choco search gitY

Co więcej, można zainstalować wiele aplikacji za pomocą jednego polecenia:

$ choco install git gimp notepadplusplus

Aby odinstalować program, użyj opcji „uninstall”:

$ choco uninstall gimp

W przypadku większej liczby programów, można umieścić je w pliku XML i przekazać do polecenia:

$ choco install packages.config -y

Plik „packages.config” powinien zawierać listę pakietów do zainstalowania.

Istnieje także możliwość zaktualizowania wszystkich zainstalowanych pakietów za pomocą komendy:

$ choco upgrade all

Inne przydatne polecenia to:

  • $ choco list → lista lokalnych lub zdalnych pakietów
  • $ choco info [nazwa_pakietu] → wyświetla informacje o pakiecie
  • $ choco upgrade [nazwa_pakietu] → aktualizuje pakiet
  • $ choco outdated → wyświetla listę nieaktualnych pakietów

Odinstalowanie Chocolatey

Aby odinstalować Chocolatey, wystarczy usunąć folder C:\ProgramData\chocolatey lub folder, w którym został zainstalowany. W razie wątpliwości co do lokalizacji instalacji, można skorzystać z poniższego polecenia:

$ env:ChocolateyInstall

Przed odinstalowaniem Chocolatey, warto wykonać kopię zapasową podfolderów „bin” i „lib”, gdyż zawierają one pakiety, które zainstalowaliśmy za jego pomocą. Należy także usunąć lub zmodyfikować następujące zmienne środowiskowe:

  • ChocolateyInstall
  • ChocolateyToolsLokalizacja
  • ChocolateyLastPathUpdate
  • PATH

Chocolatey kontra Menedżer Pakietów Windows (Winget)

Chocolatey nie jest jedynym dostępnym menedżerem pakietów. Alternatywą jest Winget lub OneGet (interfejs menedżera pakietów w PowerShell 5.0). Który z nich wybrać? Sprawdźmy porównanie Chocolatey i Winget:

# 1. Funkcje

Pod względem funkcjonalności, Chocolatey oferuje szerszy zakres możliwości. W wersji open source udostępnia podstawowe funkcje zarządzania pakietami. Wersja Pro oferuje dodatkowe funkcje, takie jak zwiększona niezawodność czy ochrona przed złośliwym oprogramowaniem.

Chocolatey oferuje także wersję Enterprise dla firm, która usprawnia procesy DevOps i automatyzuje zarządzanie oprogramowaniem w środowisku Windows.

Z drugiej strony, Winget jest prostszym narzędziem do zarządzania pakietami. Wykorzystuje on manifest YAML do tworzenia, przesyłania i usuwania pakietów.

#2. Koszt

Zarówno Chocolatey, jak i Winget oferują bezpłatne wersje open source. Jednak tylko Chocolatey udostępnia płatne opcje dla bardziej wymagających użytkowników.

#3. Łatwość użycia

Łatwość użytkowania jest kwestią subiektywną, ponieważ oba narzędzia operują w oparciu o linię komend. Instalacja Winget jest jednak prostsza, ponieważ można go pobrać z Microsoft Store. Instalacja Chocolatey wymaga uruchomienia odpowiednich poleceń i dodatkowo ustawienia zasad wykonywania skryptów.

#4. Repozytorium

Chocolatey zarządza własnym repozytorium zawierającym ponad 9500 pakietów. Winget natomiast polega na innych źródłach do pobierania i dystrybucji pakietów.

Pod względem społeczności, Chocolatey wyróżnia się dzięki swojej długiej historii. Ma ponad dekadę, co zaowocowało silną społecznością. Winget nie ma jeszcze tak rozbudowanej bazy użytkowników.

Podsumowanie

Chocolatey jest przydatnym narzędziem do zarządzania pakietami. Jest popularny, dobrze udokumentowany i oferuje wiele funkcji. Dodatkowo, jest to oprogramowanie typu open source, co oznacza, że każdy może z niego korzystać bez żadnych opłat.

Dla firm Chocolatey oferuje płatne opcje z dodatkowymi funkcjami, co jest idealnym rozwiązaniem dla organizacji pracujących z złożonymi projektami Windows.

Na koniec, sprawdź, jak zainstalować Menedżera wersji węzła (NVM) w systemach Windows i MacOS.


newsblog.pl