Установка PowerShellGet в Windows

Windows PowerShell 5.1 поставляется с предустановленным модулем PowerShellGet версии 1.0.0.1.

Важно!

Функционал этой версии PowerShellGet ограничен, в ней не поддерживаются обновленные возможности коллекции PowerShell. Для поддержки этих функций требуется последняя версия.

PowerShell 6.0 поставляется с PowerShellGet версии 1.6.0. PowerShell 7.0 поставляется с PowerShellGet версии 2.2.3. Текущая поддерживаемая версия PowerShellGet — 2.2.5.

Если вы используете PowerShell 6 или более поздней версии, у вас установлена допустимая версия PowerShellGet. Если вы используете Windows PowerShell 5.1, необходимо установить более свежую версию.

Для достижения наилучших результатов следует всегда устанавливать последнюю поддерживаемую версию.

Обновление предустановленной версии PowerShellGet

Модуль PowerShellGet содержит следующие командлеты для установки и обновления модулей:

  • Install-Module устанавливает последнюю (не предварительную) версию модуля.
  • Update-Module устанавливает последнюю (не предварительную) версию модуля, если она вышла позднее установленного на текущий момент модуля. Однако этот командлет работает только в том случае, если предыдущая версия была установлена с помощью Install-Module.

Чтобы обновить предустановленный модуль, необходимо использовать Install-Module. После установки новой версии из коллекции PowerShell можно использовать Update-Module, чтобы устанавливать более свежие выпуски.

Обновление PowerShellGet для Windows PowerShell 5.1

Требования к системе

  • Для PowerShellGet требуется .NET Framework 4.5 или более поздней версии. См. дополнительные сведения об установке .NET Framework для разработчиков.

  • Чтобы получить доступ к коллекции PowerShell, необходимо использовать протокол TLS версии 1.2 или более поздней. PowerShell не настроен на использование TLS 1.2 по умолчанию. Используйте следующую команду, чтобы включить TLS 1.2 в сеансе PowerShell.

    [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
    

    Также рекомендуется добавить эту строку кода в скрипт вашего профиля PowerShell. Дополнительные сведения о профилях см. в разделе about_Profiles.

Установка последней версии PowerShellGet

Windows PowerShell 5.1 поставляется с PowerShellGet версии 1.0.0.1, в которой отсутствует поставщик NuGet. Этот поставщик необходим для работы PowerShellGet с коллекцией PowerShell.

Примечание

Следующие команды необходимо выполнять в сеансе PowerShell с повышенными правами. Щелкните значок PowerShell правой кнопкой мыши и выберите Запуск от имени администратора, чтобы запустить сеанс с повышенными правами.

Существует два способа установить поставщик NuGet:

  • Используйте Install-PackageProvider, чтобы установить NuGet перед установкой других модулей.

    Выполните следующую команду, чтобы установить поставщик NuGet.

    Install-PackageProvider -Name NuGet -Force
    

    После установки поставщика вы сможете использовать любые командлеты PowerShellGet с коллекцией PowerShell.

  • Дождитесь запроса Install-Module на установку поставщика NuGet.

    Следующая команда производит попытки установить обновленный модуль PowerShellGet без поставщика NuGet.

    Install-Module PowerShellGet -AllowClobber -Force
    

    Install-Module предложит установить поставщик NuGet. Введите Y, чтобы установить поставщик.

    NuGet provider is required to continue
    PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based
    repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies'
    or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet
    provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you
    want PowerShellGet to install and import the NuGet provider now?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    VERBOSE: Installing NuGet provider.
    

Примечание

Если вы не настроили TLS 1.2, любые попытки установить поставщик NuGet и другие пакеты завершатся сбоем.

Действия после установки PowerShellGet

После установки новой версии PowerShellGet откройте новый сеанс PowerShell. PowerShell автоматически загрузит последнюю версию модуля при использовании командлета PowerShellGet.

Также рекомендуется зарегистрировать коллекцию PowerShell в качестве доверенного репозитория. Используйте следующую команду:

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Дополнительные сведения см. в статье Set-PSRepository.