返回归档

技术笔记

找不到与参数名称"SslProtocol"

(base) PS C:\Users\aa> irm -SslProtocol Tls12 https://astral.sh/uv/install.ps1 | iex
Invoke-RestMethod : 找不到与参数名称“SslProtocol”匹配的参数。
所在位置 行:1 字符: 5
+ irm -SslProtocol Tls12 https://astral.sh/uv/install.ps1 | iex
+     ~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-RestMethod],ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

遇到的错误提示找不到与参数名称“SslProtocol”匹配的参数表明在 PowerShell 里,Invoke-RestMethod(irm是它的别名)命令并不存在-SslProtocol这个参数。

在 PowerShell 中,若要设定 SSL 协议,可以在调用Invoke-RestMethod之前通过代码来指定。下面是修改后的命令示例:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-RestMethod -Uri https://astral.sh/uv/install.ps1 | Invoke-Expression

可以在 PowerShell 里执行以上命令。此命令会先将 SSL 协议设定为 TLS 1.2,接着从指定的 URL 下载install.ps1脚本,最后执行该脚本。