14

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

>$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 プロバイダーを自動的にインストールするように求められます

これらの場所には何もありません:

>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

Get Started with PowerShell Galleryには、次のように記載されています。

または、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

私はとても混乱しています。私は PowerShell v5 を持っていますが、PowerShellGet という本来あるべきものがすべて揃っていないようです。

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

4

4 に答える 4

3

このエラーは、Install-PackageProvider が含まれているモジュールを PowerShell が見つけられないことを意味します。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を再インストールすることをお勧めします。

于 2016-03-05T19:32:12.463 に答える
0

フォルダー ディレクトリを開く必要がありました: C:\Users<myusername>\Documents\WindowsPowerShell\Modules

PackageManagement フォルダーの名前を変更/削除すると、すべてがより適切に機能し始めました。

于 2020-12-22T21:23:48.413 に答える