В апреле 2014 года Microsoft представила OneGet (позже переименованный в PackageManagement) вместе с PowerShell 5. Это бесплатный менеджер поставщиков пакетов с открытым исходным кодом, который позволяет интегрировать другие менеджеры пакетов в PowerShell. — Wikipedia
Команды PackageManagement
Get-Command -Module PackageManagement
- Find-Package — поиск пакета (программы) в доступных репозиториях
- Find-PackageProvider — поиск провайдеров распространения пакетов
- Get-Package — показывает список установленных пакетов
- Get-PackageProvider — выводит список поставщиков пакетов, доступных на компьютере
- Get-PackageSource — выводит список доступных источников пакетов
- Import-PackageProvider — добавляет поставщиков пакетов управления пакетами в текущий сеанс
- Install-Package — устанавливает пакет (программу) на компьютер
- Install-PackageProvider — устанавливает одного или нескольких поставщиков пакетов управления пакетами.
- Register-PackageSource — добавляет источник пакета для поставщика
- Save-Package — сохраняет пакет локально, не устанавливая его
- Set-PackageSource — устанавливает поставщика в качестве источника пакета
- Uninstall-Package — удаляет программу (пакет)
- Unregister-PackageSource — удаляет провайдера из списка источников пакетов
Возникшие проблемы на примере утановки golang из репозитория Chocolatey
PS C:\WINDOWS\system32> Find-Package -Name *golang* -Source Chocolatey
ПРЕДУПРЕЖДЕНИЕ: NuGet: Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.
В PowerShell по умолчанию используется TLS 1.0. Меняем версию TLS по умолчанию в .NET Framework на 1.2
PS C:\WINDOWS\system32> reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
Операция успешно завершена.
PS C:\WINDOWS\system32> reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32 Операция успешно завершена.
Операция успешно завершена.
PS C:\WINDOWS\system32> Find-Package -Name *golang* -Source Chocolatey
Name Version Source Summary
---- ------- ------ -------
golang 1.21.0 chocolatey The Go programming language is an open source proje...
golangci-lint 1.54.1 chocolatey golangci-lint is a Go linters aggregator.
Пробуем установить пакет…
PS C:\WINDOWS\system32> Install-Package -Name golang -ProviderName Chocolatey
…ничего не происходит. Меняем политику выполнения
PS C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Всё работает