Обновление 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.
PowerShellGet