无法在Powershell中编写NuGet包提供程序的安装脚本

4
我正在尝试使用以下命令安装NuGet包提供程序。
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

我还尝试添加-Confirm:$false标志,但仍会提示确认。

例如,

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to 
interact with NuGet-based repositories. The NuGet
provider must be available in 'C:\Program 
Files\PackageManagement\ProviderAssemblies' or
'C:\Users\Booker\AppData\Local\PackageManagement\ProviderAssemblies'. You 
can also install the NuGet provider by
running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -
Force'. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

我想在脚本中完成这个安装。我该如何跳过确认提示?

你的意思是即使使用了 Install-PackageProvider NuGet ...,你仍然无法看到包提供程序吗? 你尝试过添加 Get-PackageProvider -ListAvailable -Verbose 来查看是否显示了提供程序吗? - Gonzalo Contento
不,我的意思是如果你在一个没有nuget cli工具的系统上,就没有办法运行Install-PackageProvider命令而不需要交互。我发现的解决方法是从某个地方下载nuget.exe并将其放在路径上,然后再尝试添加软件包提供程序。当我这样做时,脚本的其余部分就能够在没有交互的情况下运行。我只是觉得奇怪的是,如果你的系统缺少nuget cli工具,这个cmdlet没有任何方法可以绕过确认提示。 - mpmackenna
你使用的PowerShell版本是哪个?我无法重现你所描述的行为。$PSVersionTable报告 => PSVersion: 5.0.10586.117 - Gonzalo Contento
1个回答

1
这将安装Nuget包提供程序而无需确认。
Find-PackageProvider -Name 'Nuget' -ForceBootstrap -IncludeDependencies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接