ВНИМАНИЕ: невозможно найти репозитории модулей

Я попытался установить Docker на активированный стандарт Windows Server 2016. Я казнил “Install-Module -Name DockerMsftProvider -Repository PSGallery -Force”, но потерпел неудачу. Он предположил, что не могу найти PSGallery. Я казнил "Get-PSRepository".

Ошибка:

ВНИМАНИЕ! Не удалось найти репозитории модулей.

Я искал 3 способа решить эту проблему, но ни один из них не помог.

  1. Я выполнил Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Verbose -Force успешно.

  2. Я успешно установил шоколадку.

  3. Я выполняю "powershell Register-PSRepository -Name "PSGallery" –SourceLocation "https://www.powershellgallery.com/api/v2/" -InstallationPolicy Trusted", но не могу. Он попросил меня использовать "Register-PSRepository -Default".

Я пробовал "powershell Register-PSRepository -Default -Name "PSGallery" –SourceLocation "https://www.powershellgallery.com/api/v2/" -InstallationPolicy Trusted", но все равно не смог.

Как я могу решить эту проблему?


person yuhan.dai    schedule 10.04.2017    source источник
comment
Та же проблема: github.com/OneGet/oneget/issues/183   -  person Vadzim    schedule 11.02.2018


Ответы (5)


С прекращением поддержки TLS 1.0 и 1.1 для PowerShell Gallery с апреля 2020 г., вышли из строя командлеты Update-Module и Install-Module. Таким образом, согласно этой статье, некоторые команды необходимо выполнить, чтобы снова оживить их:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
Install-Module PowerShellGet -RequiredVersion 2.2.4 -SkipPublisherCheck

Если это все еще не работает, выполните следующие команды:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Register-PSRepository -Default -Verbose
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

TLS 1.0 и 1.1 также недавно устарели на NuGet.org:  nuget.org устарел TLS 1.0 и 1.1 Но , о котором также было объявлено ранее.

person Alexandre    schedule 18.06.2020
comment
последний работал у меня! Большое спасибо! - person Mohsen; 03.06.2021

У меня работал простой запуск Register-PSRepository -Default (без дополнительных параметров). После этого Галерея была успешно зарегистрирована:

PS C:\Windows\system32> Get-PSRepository

Name                      InstallationPolicy   SourceLocation
----                      ------------------   --------------
PSGallery                 Untrusted            https://www.powershellgallery.com/api/v2/
person Daibhi O Domhnaill    schedule 28.07.2017

Моя проблема заключалась в отсутствии конфигурации прокси

лучшее решение из комментариев: https://www.zerrouki.com/working-behind-a-proxy/
благодаря @Vadzim


В PowerShell откройте профиль

PS> notepad $PROFILE

откроется Блокнот с настройками вашего профиля, будет создан или не существует.
затем добавьте:

[system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy('http://webproxy.yourCompany.com:PORT')
[system.net.webrequest]::defaultwebproxy.credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true

каким-то образом мой локальный прокси установлен, но не работает. та же проблема позже с Docker, =>

> PS> [Environment]::SetEnvironmentVariable("HTTP_PROXY", http://username:password@proxy:port/", [EnvironmentVariableTarget]::Machine)

затем перезапустите службу докеров

person Andre    schedule 07.02.2018
comment
Взгляните также на zerrouki.com/working-behind-a-proxy и spaghettidba.com/2017 / 12/19 / - person Vadzim; 11.02.2018
comment
Тогда для вашего ответа было бы полезно процитировать лучшие части. ) - person Vadzim; 12.02.2018
comment
Я много раз видел этот ответ, но у меня ошибка на домашнем ПК без прокси ... - person KERR; 12.05.2020

Получил похожее сообщение. Я запустил Register-PSRepository -default, и он зарегистрировался нормально. Затем я запустил Set-PSRepository -Name PSGallery -InstallationPolicy Trusted. Команды не совмещал, но сработало.

Я потратил больше часа, пытаясь передать учетные данные прокси так же, как и для Exchange Online, но без всякой любви. Я отключился и вместо этого использовал гостевой Wi-Fi.

person Calvin Devereaux    schedule 28.02.2019
comment
+1 для обходного пути гостевого Wi-Fi. Иногда это просто то, что вам нужно сделать, чтобы что-то работало в корпоративной среде. - person jpierson; 02.12.2019

Еще одна вещь, о которой не упомянули. Вам действительно нужно бежать

notepad $profile

и скопируйте и вставьте этот бит, изменив данные вашего прокси:

[system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy('http://webproxy.yourCompany.com:PORT')
[system.net.webrequest]::defaultwebproxy.credentials =  System.Net.CredentialCache]::DefaultNetworkCredentials
[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true

Но если у вас включена проверка HTTPS, вы можете добавить сертификат Man-in-the-middle в "Trusted Root Certification Authorities"

person elemer82    schedule 22.02.2021