5

これは、インターネットで見つけた一般的な解決策では解決されない一般的なエラーです。

Get-PsRepository、Install-Module、および関連する (OneGet?) コマンドを実行すると、「モジュール プロバイダー (PowerShellGet) が見つかりません」というエラーがスローされます。これは NuGet packagemanager モジュールの問題のようですが、回復方法がわかりません。インストールされたパッケージ プロバイダーは有効なようです

症状パターン:
C:> [Net.ServicePointManager]::SecurityProtocol

Tls12

取得 PSRepository

PackageManagement\Get-PackageSource : Unable to find module providers (PowerShellGet).
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4496 char:31
+ ... ckageSources = PackageManagement\Get-PackageSource @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power...etPackageSource:GetPackageSource) [Get-PackageSource
   ], Exception
    + FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackageSource

Register-PSRepository -Default -Verbose

VERBOSE: PowerShell meta provider initialization failed.
VERBOSE: No match was found for the specified search criteria and provider name 'PowerShellGet'. Try
'Get-PackageProvider -ListAvailable' to see if the provider exists on the system.
PackageManagement\Register-PackageSource : Unable to find module providers (PowerShellGet).
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4211 char:17
+ ...     $null = PackageManagement\Register-PackageSource @PSBoundParamete ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power...erPackageSource:RegisterPackageSource) [Register-Pac
   kageSource], Exception
    + FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.PackageManagement.Cmdlets.RegisterPackageSource  

インストール モジュール PowerShellGet -Force

PackageManagement\Install-Package : Unable to find module providers (PowerShellGet).
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Exception
    + FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

事実:
Windows 10 (1903)
Powershell 5.1.18362.1171
管理者として PowerShell を実行している プロキシの背後にないhttps://www.powershellgallery.com/api/v2
にアクセス できる nuget.org にアクセスできる `[Net.ServicePointManager]::SecurityProtocol = Tls12 FIPS は無効です (HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled DWORD=0) Get-PackageProvider は NuGet 2.8.5.208 のみを示します PowerShellGet version is 1.0.0.1 ; Install-Module PowerShellGet -Force で sxs インストールを強制しようとすると、同じ結果が得られます: PackageManagement\Install-Package : Unable to find module providers (PowerShellGet)。




4

2 に答える 2

3

コメントするには十分な担当者がいません。

私は同じ状況に陥りました。%USERPROFILE%/document が企業の OneDrive である Windows 10 1909 マシン。PackageManagement を /WindowsPowerShell/ から移動すると、Get-PSRepository の出力が何もないものから PSGallery に変更されました。ありがとう!– tmcg 3 月 1 日 21:35 これはまったく同じ問題でした。これは、PowerShell 7 がこの場所にダンプしたためだと思われます (更新を求めるプロンプトが表示されたときに、おそらく Visual Studio Code でしょうか?)

個人プロファイルの %USERPROFILE%/documents の packagemanagement で同じ問題が発生しました。この新しいマシンに VScode と Powershell 拡張機能をインストールしたときに、ファイルの日付が一致しました。

モジュールからフォルダーを削除すると、当分の間問題が修正されました。

于 2021-03-04T23:09:29.030 に答える