Vad är choklad och hur man installerar det?

By rik

Windows är känt för sin användarvänlighet, men dess flexibilitet kan utökas med hjälp av programvara med öppen källkod, som exempelvis Chocolatey (även kallat Choco).

En introduktion till Chocolatey

Chocolatey är en pakethanterare med öppen källkod för Windows, jämförbar med DNF eller APT i Linux. Denna typ av verktyg är ovärderlig för utvecklare och avancerade användare som behöver effektivt installera, uppdatera och avinstallera programpaket på sina system.

Låt oss utforska Chocolateys funktioner i detalj, men först en kort introduktion till vad en pakethanterare är och dess grundläggande funktion.

Vad är en pakethanterare?

En pakethanterare i ett operativsystem är ett verktyg som hjälper dig att organisera och hantera programvarupaket. Den kan användas för att övervaka befintlig programvara, utföra uppdateringar, och även installera nya program. Om ett program inte längre behövs kan pakethanteraren enkelt avinstallera det.

I grund och botten ser pakethanteraren till att alla programvarupaket (mjukvara) hanteras korrekt, det vill säga installerade, uppdaterade eller avinstallerade på ett korrekt sätt. Inom datavärlden är ett paket i princip en samling filer som hör ihop med en specifik mjukvara.

En viktig funktion hos pakethanterare är att de ser till att paket inte hamnar i konflikt och att kritiska systemfiler inte tas bort. Programvarupaket är ofta beroende av andra paket för att fungera korrekt, och pakethanteraren hanterar dessa beroenden för att undvika problem.

Tänk på två paket, A och B, där paket A är beroende av paket B. Det innebär att paket B måste vara installerat och fungerande för att paket A ska fungera. Till exempel, om du vill använda GIMP, ett bildbehandlingsprogram, måste systemet ha tillgång till GIMP:s datapaket.

Det finns flera populära pakethanterare. Linux har till exempel DNF och APT.

Läs också: En kort guide till DNF Package Manager

Även Windows har en egen pakethanterare, Windows Package Manager (Winget), som fungerar via kommandoraden. Utvecklare kan använda Winget för att installera, uppdatera och ta bort paket eller applikationer. Mer information finns på Winget GitHub.

Utöver Winget finns även Chocolatey, en kostnadsfri pakethanterare med öppen källkod. Låt oss granska den mer ingående.

Vad är Chocolatey Package Manager?

Chocolatey är en pakethanterare som körs via kommandoraden i Windows. Den är gratis att använda tack vare sin öppen källkod (Apache 2.0-licens). Chocolatey erbjuder också betaltjänster för företag som vill automatisera sin mjukvaruhantering på ett modernt sätt. Den är baserad på NuGet, en pakethanterare för utvecklare.

Precis som andra pakethanterare låter Chocolatey utvecklare och IT-personal hantera programvara på ett effektivt sätt. Chocolatey använder paket för att säkerställa att programvaran fungerar som den ska, oavsett om det handlar om att uppdatera, ta bort eller installera nya paket. Dessutom automatiserar den dessa processer, vilket sparar tid och ansträngning.

Användningsområden för Chocolatey

Utvecklare och IT-chefer använder främst Chocolatey i IT-miljöer där de behöver hantera programvara på flera datorer. Den passar väl in i en DevOps-miljö eftersom den kan automatisera återkommande uppgifter som att distribuera binärfiler, skript, installationsprogram, applikationer och programvarupaket.

Chocolatey förenklar programvaruinstallation genom att automatisera de manuella steg som annars krävs, exempelvis sökning, nedladdning och installation av program. Med Chocolatey kan du utföra allt med ett enkelt kommando, inklusive installation av alla beroende paket som programmet kräver.

Detta är särskilt användbart för team som arbetar med komplexa Windows-miljöer. Det påskyndar även mjukvaruutvecklingen genom att ta hand om de manuella uppgifterna. Dessutom erbjuder Choco goda integrationsmöjligheter med olika automationsverktyg för infrastruktur.

Så här installerar du Chocolatey i Windows

Installationen av Chocolatey är enkel. Följ bara stegen nedan:

Steg 1: Kontrollera kraven

För att installera Chocolatey, se till att systemet uppfyller följande krav:

  • Windows klient eller server operativsystem
  • .NET Framework 4.8 eller senare
  • PowerShell v2 eller högre

Steg 2: Starta PowerShell och justera Get-ExecutionPolicy

Öppna PowerShell på din Windows-dator som administratör.

Därefter måste du kontrollera att Get-ExecutionPolicy är inställd på Obegränsad. Annars kan det hindra installationen av Choco. Du kan använda alternativet Bypass för att kringgå det här, men om du planerar att köra skript från internet är det bättre att använda AllSigned för högre säkerhet.

Använd något av följande kommandon för att ställa in Get-ExecutionPolicy:

$ Set-ExecutionPolicy AllSigned

Eller:

$ Set-ExecutionPolicy Bypass -Scope Process

Steg 3: Kör kommandot för att installera Chocolatey

När ExecutionPolicy är korrekt inställd kan du starta installationen av Choco med följande kommando i skalet:

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'))

Steg 4: Kontrollera att installationen är klar

Om kommandot körs utan felmeddelanden är Chocolatey förmodligen korrekt installerat.

Du kan bekräfta detta genom att köra något av följande kommandon:

$ choco

Eller:

$ choco -?

Det var allt! Chocolatey är nu installerat. Du kan även använda CMD-skalet för att installera. Kopiera och klistra in följande kommando i ett CMD-administratörsskal:

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

Utskriften från ovanstående kommando ser ut ungefär så här:

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

Använda Chocolatey

Chocolatey är enkelt att använda. Eftersom det är ett kommandoradsverktyg använder du det med hjälp av kommandon.

Om du till exempel vill installera notepadplusplus kan du köra följande kommando:

$ choco install notepadplusplus

Du kan på samma sätt installera annan programvara, exempelvis GitHub.

Om du är osäker på ett pakets tillgänglighet kan du använda sökfunktionen för att leta efter det.

$ choco search gitY

Du kan även installera flera applikationer med ett enda kommando:

$ choco install git gimp notepadplusplus

Om du vill avinstallera en programvara, använder du avinstallationsalternativet:

$ choco uninstall gimp

Om du har många applikationer kan du lägga dem i en XML-fil och skicka den till kommandot:

$ choco install packages.config -y

Filen packages.config innehåller alla paket som ska installeras.

Du kan uppdatera alla befintliga paket med följande kommando:

$ choco upgrade all

Andra användbara kommandon för Choco:

  • $ choco list → listar lokala eller fjärrpaket
  • $ choco info [package_name] → hämtar information om ett paket
  • $ choco upgrade [package_name] → uppgraderar ett paket
  • $ choco outdated → hämtar och listar utdaterade paket

Avinstallera Chocolatey

Du kan avinstallera Chocolatey genom att ta bort mappen C:\ProgramData\chocolatey eller den mapp där du installerade det.

Om du är osäker på installationsmappen för Chocolatey kör du följande kommando:

$ env:ChocolateyInstall

Innan du avinstallerar Chocolatey är det rekommenderat att säkerhetskopiera undermapparna bin och lib, eftersom de innehåller alla paket du har installerat med det. Du behöver också ta bort eller justera följande miljövariabler:

  • ChocolateyInstall
  • ChocolateyToolsLocation
  • ChocolateyLastPathUpdate
  • PATH

Chocolatey kontra Windows Package Manager (Winget)

Chocolatey är inte den enda pakethanteraren. Du kan också välja Winget eller OneGet (ett PowerShell 5.0-pakethanteringsgränssnitt). Vilken ska du välja? Låt oss jämföra Chocolatey och Winget:

#1. Funktioner

Funktionsmässigt har Chocolatey mer att erbjuda. Du kan börja med dess öppna källkodsversion som ger dig tillgång till paket-hantering. Om du behöver en mer avancerad upplevelse kan du byta till Pro Edition, som inkluderar extra funktioner som bättre tillförlitlighet och skydd mot skadlig programvara.

Chocolatey erbjuder också Enterprise för företag, vilket möjliggör ett smidigare DevOps-arbetsflöde och automatiserar Windows-mjukvarans livscykel.

Winget å sin sida erbjuder en enklare pakethanteringslösning som använder YAML-manifest för att skapa, ladda upp och ta bort paket.

#2. Kostnad

Båda pakethanterarna erbjuder en kostnadsfri version med öppen källkod för användare. Endast Chocolatey har betalalternativ för de som behöver det.

#3. Användarvänlighet

Användarvänlighet är subjektivt, med tanke på att båda är kommandoradsverktyg. Det är lättare att installera Winget eftersom det är tillgängligt via Microsoft Store. Chocolatey kräver däremot att du kör kommandon och hanterar exekveringspolicyer för att kunna installera.

#4. Databas

Chocos databas innehåller 9500 hanterade paket. Där hittar du nästan allt du behöver. Winget förlitar sig däremot på andra källor för att ladda ner och distribuera paket.

Chocolatey har också en stark gemenskap, mycket tack vare sin långa historia. Verktyget har funnits i över ett decennium och har ett starkt stöd från användare. Winget saknar däremot en sådan gemenskap.

Slutord

Chocolatey är en användbar pakethanterare. Den är populär, har bra dokumentation och många funktioner. Dessutom är den öppen källkod, vilket gör den tillgänglig för alla.

Choco erbjuder även betalalternativ för team och företag, med extra funktioner som är idealiska för organisationer som arbetar med komplexa Windows-projekt.

Kolla också in hur man installerar Node Version Manager (NVM) i Windows och MacOS.