PowerShellのエラーを解決する。「WARNING: Unable to resolve package source ‘https://www.powershellgallery.com/api/v2’.」

PowerShellのエラーを解決する。「WARNING: Unable to resolve package source ‘https://www.powershellgallery.com/api/v2’.」

PowerShellをVSCodeでデバッグしようとしたら、以下のエラーが出てデバッグできませんでした。

WARNING: Unable to resolve package source 'https://www.powershellgallery.com/api/v2'.

併せて、エラー全文ではないですが以下のエラーも出ていました。

指定された検索条件とパッケージ名 'PackageManagement' と一致するものが見つかりませんでした。登録されている使用可能なすべてのパッケージ ソースを確認するには、Get-PSRepository を使用します。

おそらく、 PowerShell GalleryがTLS 1.2を強制する様になったことが原因ではないかと思います。


経緯

VSCodeでPowerShellのデバッグを実行したところ、冒頭のエラーが発生。
VSCodeから示された対処方法が以下です。
プロンプトで、Yes, noを選択できます。

You have an older version of PackageManagement known to cause issues with the PowerShell extension. Would you like to update PackageManagement (You will need to restart the PowerShell extension after)?

そして、これに対してYesを応答すると、以下のコマンドが発行されますが、エラーとなってしまいました。

Install-Module -Name PackageManagement -Force -MinimumVersion 1.4.6 -Scope CurrentUser -AllowClobber

対処法

一番いいのは、PowerShellのバージョンアップだと思いますが、開発環境でむやみにバージョンがあげられない場合、TLS1.2を強制するように設定します。

以下のコマンドを実行してTLS1.2を必ず使用するように設定します。

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

設定完了後に再度、PackageManagementを更新します。

Install-Module -Name PackageManagement -Force -MinimumVersion 1.4.6 -Scope CurrentUser -AllowClobber

更新できない場合、管理者でPowerShellを起動して試してみてください。