powershell - Powershell Find-Package 命令不适用于 nuget v3 包源
问题描述
正如标题所说,我不能将 Find-Package 命令与 nuget v3 url 一起使用:
https://api.nuget.org/v3/index.json
如果我运行命令:
Find-Package nuget.versioning -Source https://api.nuget.org/v3/index.json
我收到未找到匹配项的错误。将命令更改为:
Find-Package nuget.versioning -Source https://www.nuget.org/api/v2
工作正常。
我需要升级一些软件才能让它工作吗?我正在运行 Powershell 版本 5,所以我不确定我需要采取哪些步骤来解决这个问题。
解决方案
使用 Powershell 5.1,它会如您所描述的那样失败。但是使用 PowerShell Core 7,它可以正常工作:
PS> Find-Package nuget.versioning -Source https://api.nuget.org/v3/index.json -ProviderName NuGet
Name Version Source Summary
---- ------- ------ -------
NuGet.Versioning 4.6.4 nuget.org NuGet's implementation of Semantic Versioning.
PSVersionTable
请注意,您可以通过变量检查您的 PowerShell 版本:
PS> $PSVersionTable
Name Value
---- -----
PSVersion 7.0.0
PSEdition Core
GitCommitId 7.0.0
OS Microsoft Windows 10.0.18362
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
在 PowerShell Core 7 上,您将看到它使用版本 3 的 NuGet 包提供程序,因此它支持协议 v3。
PS> Get-PackageProvider
Name Version DynamicOptions
---- ------- --------------
NuGet 3.0.0.1 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
PowerShellGet 2.2.3.0 PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, AllowPrereleaseVersions, Filter, Tag, Includes, DscResource, RoleCapability, Command, Accep…
推荐阅读
- postgresql - Prisma:在 AWS 上连接远程 DB Postrgsql 时嵌套写入非常慢
- flutter - 在 Flutter(Dart) 中访问嵌套实例对象中的数据
- bootstrap-4 - 当文件上传到服务器时,单击下拉链接没有输出
- android - Activity Object.hashCode() 在不同的实例上是相同的
- javascript - JavaScript:查找字符串中所有出现的子字符串索引
- amazon-web-services - 是否可以通过会话管理器从我的桌面等外部源使用 SSH 连接到实例。如果是这样,怎么办?
- mysql - 在 SQL 中显示自生效日期起的包裹价格
- css - 我怎样才能不让我的幻灯片菜单的宽度影响我在css中的主页的宽度
- elasticsearch - Grafana 彩色日志和 elasticsearch lucene 查询
- html - 我的 HTML 文件找不到任何其他文件并返回 404