Поделиться через


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

Windows PowerShell 5.1 поставляется с предустановленными powerShellGet и PackageManagement версии 1.0.0.1. Эта версия PowerShellGet имеет ограниченные возможности и должна быть обновлена для работы с коллекция PowerShell. Для поддержки этих функций требуется последняя версия.

Предварительные требования

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

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

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

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

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

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

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

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

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.
    

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

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

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

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

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