[英]Powershell Install Nuget package
我試圖找出如何使用 Power Shell 腳本下載和安裝 NUnit 包。
我嘗試了Install-Package
命令,但這當然是針對 NUGet 包管理器控制台的。 有什么想法嗎?
您需要 NuGet 包提供程序才能使用Install-Package
查找和下載 NUnit。 我認為您遇到的問題是,如果您之前沒有為 PowerShell 安裝/配置 NuGet 包提供程序,則第一次運行Install-Package NUnit
類的命令時,它會提示您是否要安裝NuGet 包提供程序。
示例:
Find-Package NUnit
WARNING: The specified PackageManagement provider 'NuGet' is not available.
Find-Package : No match was found for the specified search criteria and package name 'NUnit'.
At line:1 char:1
+ Find-Package NUnit
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
但是在我配置了 NuGet 提供程序之后,它工作得很好:
Find-Package -Name Nunit
Name Version Source Summary
---- ------- ------ -------
NUnit 3.2.0 nuget.org NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.
我的答案是建立在@Negorath 的基礎上。 我相信他們遺漏了一些細節:
> Get-PackageProvider -ListAvailable
Name Version DynamicOptions
---- ------- --------------
msi 3.0.0.0 AdditionalArguments
msu 3.0.0.0
NuGet 2.8.5.208 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
PowerShellGet 1.0.0.1 PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, Filter, Tag, Includes, DscResource, RoleCapability, Command, PublishLocation, ScriptSourceL... Programs 3.0.0.0 IncludeWindowsInstaller, IncludeSystemComponent
如您所見,我有 NuGet。 但如果你不這樣做,你可以安裝:
> Register-PackageSource -Name NuGet -ProviderName PowerShellGet -Verbose
VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted = 'False'; IsRegistered = 'True'.
VERBOSE: Performing the operation "Register Package Source." on target "Package Source 'NuGet' () in provider 'PowerShellGet'.".
我嘗試了很多東西,然后這個幫助我解決了這個問題:
>Open Powershell (as Admin)
>[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
>Install-PackageProvider -Name NuGet
然后您可以在以下位置看到“nuget”文件夾:C:\\Program Files\\PackageManagement\\ProviderAssemblies
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.