【发布时间】:2016-06-19 12:13:31
【问题描述】:
我正在关注Get Started with the PowerShell Gallery,它指出 PowerShellGet 模块存在于 Windows 10(我正在使用 - build 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
Get Started with the PowerShell Gallery 状态:
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
Get Started with the 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。
谁能解释一下原因?
【问题讨论】:
-
您是否以管理员身份运行 Powershell 控制台?默认情况下,我相信 PS 控制台或 ISE 作为受限用户运行。尝试从“开始”菜单中右键单击 Powershell,然后选择“以管理员身份运行”。
-
刚刚尝试以管理员身份运行“Install-PackageProvider -Name NuGet -Force”,结果相同:(
-
你的 PS 控制台标题是
Administrator:吗?另外,当我在 Win 7 上尝试 PS v5 时,您是否检查过 technet.microsoft.com/en-us/library/mt676543.aspx 并尝试使用Get-PackageProvider -ListAvailable,我收到错误消息,指出 ListAvailable 不是可识别的参数。 -
刚刚重新启动以安装更新。会让你知道的。
-
>Get-PackageProvider -ListAvailable Get-PackageProvider : 找不到与参数名称“ListAvailable”匹配的参数。