Що таке Chocolatey і як його встановити?

Windows є однією з найзручніших операційних систем. Однак його також можна налаштувати (до певної точки) за допомогою програмного забезпечення з відкритим кодом, такого як Chocolately (також відомого як Choco).

Шоколадний: огляд

Chocolatey — це менеджер пакетів Windows із відкритим кодом. Він схожий на менеджери пакетів DNF або APT у Linux. Менеджер пакунків зручний для розробників або досвідчених користувачів, які хочуть інсталювати, оновити або видалити пакети у своїй системі.

Давайте дізнаємося більше про Chocolately. Але перед цим давайте дізнаємося про менеджери пакетів.

Що таке менеджер пакетів?

Менеджер пакетів в операційній системі дає вам змогу відстежувати пакети на вашому комп’ютері. Ви можете використовувати менеджер пакетів, щоб відстежувати існуюче програмне забезпечення, оновлювати це програмне забезпечення або навіть інсталювати нове. Якщо вам не потрібен пакунок/програмне забезпечення, ви також можете видалити його за допомогою менеджера пакетів.

Коротше кажучи, менеджер пакетів займається пакетами (програмним забезпеченням). З точки зору комп’ютера, пакет – це набір встановлених, оновлених або видалених файлів.

Менеджери пакетів гарантують відсутність конфліктів або видалення пакетів, необхідних системі. Зазвичай пакети залежать від інших пакетів. Менеджер пакунків гарантує, що нічого не зламається.

Давайте візьмемо два пакети, щоб зрозуміти пакети A і B — пакет A залежить від B. Це означає, що для роботи A потрібно, щоб B був встановлений і працював. Наприклад, для GIMP, програмного забезпечення для обробки зображень, системі потрібен доступ до пакету даних GIMP.

Існує багато популярних менеджерів пакетів. Наприклад, Linux має два популярних менеджера пакетів, DNF і APT.

Читайте також: Короткий посібник із менеджера пакетів DNF

У Windows також є рішення для керування пакетами, відоме як Менеджер пакетів Windows (Вінгет). Він працює на рівні командного рядка та дозволяє розробникам виявляти, оновлювати, видаляти та встановлювати пакети/програми в системі. Перевірити Вінгетменеджер пакетів Windows, щоб отримати додаткові відомості.

Крім того, у нас є менеджер пакетів Chocolatey, безкоштовний менеджер пакетів із відкритим кодом. Давайте дізнаємось про це нижче.

Що таке Chocolatey Package Manager?

Chocolatey — це менеджер пакетів Windows, який працює в командному рядку. Його можна використовувати безкоштовно, оскільки він має відкритий код (ліцензія Apache 2.0). Ви можете використовувати Chocolatey для автоматизації сучасного програмного забезпечення з платними опціями, якщо ви бізнес. Він створений на основі NuGet, орієнтованого на розробника менеджера пакетів.

Як і інші менеджери пакунків, Chocolatey дозволяє розробникам та ІТ-персоналу ефективно керувати програмним забезпеченням на машинах. Chocolatey використовує пакети для забезпечення належного функціонування програмного забезпечення, оновлюючи, видаляючи або встановлюючи нові пакети. Крім того, він архівує все це за допомогою автоматизації, забезпечуючи швидше виконання.

Шоколадне призначення та випадки використання

Розробники та ІТ-менеджери використовують Chocolatey переважно в ІТ-налаштуваннях, де вони керують програмним забезпеченням на одній або кількох машинах. Chocolatey підходить для DevOps, оскільки він може автоматизувати повторювані завдання, такі як розгортання двійкових файлів, сценаріїв, інсталяторів, програм і пакетів програмного забезпечення.

Chocolatey є корисним, оскільки для встановлення програмного забезпечення потрібні дії вручну. Це може включати потребу користувача дослідити, завантажити та встановити пакет. За допомогою Chocolately ви можете запустити просту команду, яка зробить усе за вас, включаючи встановлення будь-яких залежних пакетів, необхідних для програмного забезпечення.

Це особливо корисно для команд, які покладаються на складне середовище Windows. Він також прискорює розробку програмного забезпечення, обробляючи ручні завдання. Choco також пропонує чудові варіанти інтеграції, включаючи підтримку інструментів автоматизації інфраструктури.

Як встановити Chocolatey на Windows

Встановити Chocolatey легко. Все, що вам потрібно зробити, це виконати наведені нижче дії.

Крок 1. Перевірте вимоги

Щоб установити Chocolatey, ви повинні переконатися, що ви відповідаєте вимогам. До них належать:

  • Клієнтська або серверна операційна система Windows.
  • .NET Framework 4.8 або вище.
  • PowerShell v2 або вище.

Крок 2. Запустіть PowerShell і встановіть Get-ExecutionPolicy

Далі відкрийте PowerShell на комп’ютері з Windows. Переконайтеся, що ви запускаєте його від імені адміністратора.

Далі вам потрібно переконатися, що Get-ExecutionPolicy необмежений. Якщо ні, це заважатиме встановленню Choco. Якщо ви хочете обійти його, ви завжди можете використовувати його з опцією «Обхід». Однак, якщо ваша організація серйозно ставиться до запуску будь-яких сценаріїв з Інтернету, найкраще використовувати AllSigned для підвищення безпеки.

Виконайте будь-яку з наведених нижче команд, щоб установити Get-ExecutionPolicy відповідно до ваших вимог.

$ Set-ExecutionPolicy AllSigned

Або

$ Set-ExecutionPolicy Bypass -Scope Process

Крок 3. Виконайте команду Install Chocolately

Після встановлення ExecutionPolicy ви можете запустити наступну команду в оболонці, щоб розпочати встановлення 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')) 

Крок 4: Переконайтеся, що він встановлений

Якщо наведена вище команда виконується, і ви не бачите жодної помилки, швидше за все, Chocolatey встановлено правильно.

Щоб підтвердити, виконайте таку команду.

$ choco

Або

$ choco -?

Це воно. Chocolatey успішно встановлено. Ви також можете встановити його за допомогою оболонки CMD. Вам потрібно буде скопіювати та вставити наступну команду в адміністративну оболонку CMD.

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

Результатом наведеної вище команди буде:

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

Використання Chocolatey

Chocolatey простий у використанні. Оскільки це рішення командного рядка, вам потрібно буде використовувати команди.

Наприклад, якщо ви хочете встановити notepadplusplus, ви можете виконати таку команду.

$ choco install notepadplusplus

Подібним чином ви можете встановити інше програмне забезпечення/пакети, наприклад GitHub.

Якщо ви не впевнені в наявності пакета, ви можете скористатися опцією пошуку, щоб знайти його.

$ choco search gitY

Крім того, ви також можете встановити кілька програм за допомогою однієї команди.

$ choco install git gimp notepadplusplus

Якщо ви хочете видалити програму, запустіть її з опцією видалення.

$ choco uninstall gimp

Якщо є більше програм, ви можете скомпілювати їх у файл XML, а потім передати його команді.

$ choco install packages.config -y

Файл packages.config містить усі перелічені пакети для встановлення.

Ви також можете оновити всі існуючі пакунки за допомогою такої команди.

$ чашка все

Серед інших корисних команд Choco:

  • $ choco list → список локальних або віддалених пакунків
  • $ choco інформація [package_name] → отримує інформацію про пакет
  • $ choco оновлення [package_name] → оновити пакет
  • $ choco outdated → отримав застарілі пакунки та перерахував їх

Видалення Chocolatey

Ви можете видалити Chocolatey, видаливши папку C:\ProgramData\chocolatey або папку, у якій ви інсталювали програму.

Виконайте таку команду, якщо ви не впевнені щодо папки встановлення Chocolatey.

$ env:ChocolateyInstall

Однак перед видаленням Chocolatey створіть резервну копію підпапок bin і lib у ньому, оскільки вони містять усі пакети, які ви встановили за допомогою нього. Вам також потрібно видалити або налаштувати такі змінні середовища:

  • ChocolateyInstall
  • ChocolateyToolsLocation
  • ChocolateyLastPathUpdate
  • ШЛЯХ

Chocolatey проти Windows Package Manager Winget

Chocolatey — не єдиний менеджер пакунків. Ви також можете вибрати Winget або OneGet (інтерфейс менеджера пакетів PowerShell 5.0). Отже, який з них слід використовувати? Давайте порівняємо Chocolatey і Winget нижче.

#1. особливості

Що стосується функцій, Chocolatey може запропонувати більше. Ви можете почати з його версії з відкритим кодом, яка дозволяє окремим особам використовувати його здатність керувати пакетами з середовища Windows. А якщо вам потрібен більш спрощений досвід преміум-класу, ви можете перейти на його Pro Edition, який пропонує додаткові функції, зокрема кращу надійність, покращений захист від шкідливих програм під час роботи тощо.

Chocolatey також пропонує Enterprise for Business, що дозволяє підприємствам покращити робочий процес DevOps і автоматизувати життєвий цикл програмного забезпечення Windows.

Winget, з іншого боку, пропонує спрощене рішення для керування пакетами. Він використовує маніфест YAML для створення, завантаження та видалення пакетів.

#2. Вартість

Обидва пропонують безкоштовну версію з відкритим кодом для споживачів. Однак тільки Chocolatey пропонує платні варіанти для тих, кому це потрібно.

#3. Простота використання

Простота використання є суб’єктивною, враховуючи, що обидва є інструментами командного рядка. Однак встановити Winget простіше, оскільки він доступний через Microsoft Store. Chocolatey, однак, вимагає виконання команд для встановлення. Крім того, вам також доведеться мати справу з політиками виконання.

#4. Репозиторій

Choco керує своїм репозиторієм із 9500 керованих пакетів. Звідти ви можете отримати майже все, що вам знадобиться. З іншого боку, Winget покладається на інші джерела для завантаження та розповсюдження пакетів.

З точки зору спільноти, Chocolatey сяє завдяки своєму віку. Йому понад десять років, тому його підтримує сильна спільнота. Winget, з іншого боку, не має такої спільноти.

Заключні слова

Chocolatey — це зручна програма для керування пакетами. Він популярний, добре задокументований і багатофункціональний. Крім того, це відкритий вихідний код, тому будь-хто може ним користуватися без необхідності будь-що платити.

Choco пропонує платні варіанти для команд у компаніях із додатковими ключовими функціями, ідеальними для організацій, які займаються складними проектами Windows.

Далі перевірте, як інсталювати Node Version Manager (NVM) у Windows і MacOS.