web-dev-qa-db-ja.com

Install-PackageProviderは、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。

私はフォローしています PowerShellギャラリーの開始 これは、PowerShellGetモジュールがWindows 10(私が使用している-ビルド14721)に存在することを示しています。確認のために、PowerShellv5を実行しています。

>$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.0.14271.1000
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14271.1000
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PowerShellギャラリーの使用を開始する 状態:

PowerShellGetでは、NuGetプロバイダーがPowerShellギャラリーと連携する必要もあります。 NuGetプロバイダーが次のいずれかの場所にない場合、PowerShellGetを最初に使用したときにNuGetプロバイダーを自動的にインストールするように求められます。•$ env:ProgramFiles\PackageManagement\ProviderAssemblies
•$ env:LOCALAPPDATA\PackageManagement\ProviderAssemblies

私はそれらの場所に何も持っていません:

>ls $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies    
>ls $env:ProgramFiles\PackageManagement\ProviderAssemblies
ls : Cannot find path 'C:\Program Files\PackageManagement\ProviderAssemblies' because it does not exist.
At line:1 char:1
+ ls $env:ProgramFiles\PackageManagement\ProviderAssemblies
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Program File...viderAssemblies:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

PowerShellギャラリーの使用を開始する 次に次のように述べます。

または、Install-PackageProvider -Name NuGet -Forceを実行して、NuGetプロバイダーのダウンロードとインストールを自動化することもできます。

私がそれを試してみると:

>Install-PackageProvider -Name NuGet -Force
Install-PackageProvider : The term 'Install-PackageProvider' is not recognized as the name of a cmdlet, function, script file, or operable program.
correct and try again.
At line:1 char:1
+ Install-PackageProvider -Name NuGet -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Install-PackageProvider:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

私はとても混乱しています。私はPowerShellv5を持っていますが、そこにあるはずのすべて、つまりPowerShellGetを持っていないようです。

誰かが理由を説明できますか?

7
jamiet

このエラーは、PowerShellがInstall-PackageProviderが含まれているモジュールを見つけられないことを意味します。 Install-PackageProviderは、PackageManagementモジュールのメンバーです。これを確認するには、Get-Moduleを実行します

Get-Module -ListAvailable -Name PackageManagement

これがエラーになった場合は、PackageManagementフォルダーが$ env:PSModulePath内のフォルダーであることを確認する必要があります。 PackageManagementフォルダーの各フォルダーを確認する簡単な方法は次のとおりです。

$env:psmodulepath.Split(';') | foreach {gci $_ -filter '*packagemanagement*'}

何も返ってこない場合は、PowerShellで自動インポートできるPackageManagementモジュールフォルダーさえありません。

その場合は、再インストールすることをお勧めします PowerShell v5 RTM

2
Adam Bertram

「Install-PackageProvider」はPowerShell5.1まで導入されませんでした

1
NitrusCS