很奇怪。我试图将oh-my-posh从 v2 升级到 v3,该方法记录在此处。但是,当我运行命令时
Update-Module -Name oh-my-posh -Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)
Powershell 显示
Update-Module : A parameter cannot be found that matches parameter name 'Scope'.
At line:1 char:32
+ Update-Module -Name oh-my-posh -Scope CurrentUser
+ ~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Update-Module], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Update-Module
Run Code Online (Sandbox Code Playgroud)
我见过很多人-Scope经常使用这个参数。我不明白为什么我的 powershell 找不到这个参数。
使用 Windows(集成)Powershell、$PSVersionTable:
PSVersion 5.1.19041.1023
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.1023
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Run Code Online (Sandbox Code Playgroud)
Windows PowerShell v5 [1]Update-Module之前版本附带的版本显然没有参数 - 请参阅链接的帮助主题。-Scope
帮助主题表明,PowerShell 会话是否提升(以管理员身份运行)暗示了哪个范围是目标范围,在哪种情况下范围是目标范围,在哪种情况下是隐含的。AllUsersCurrentUser
但是,您应该能够通过 PowerShell Gallery 更新cmdlet所属的PowerShellGetmodule ,此后它应该为您提供一个参数:Update-Module-Scope
# Run from an ELEVATED session.
# Initial upgrade to the latest version from the PowerShell Gallery.
# Thereafter, use `Update-Module PowerShellGet` for future updates.
# Add -Verbose to see details.
Install-Module -Scope AllUsers PowerShellGet -Force -AllowClobber
Run Code Online (Sandbox Code Playgroud)
Phillip Ngan报告称,这-AllowClobber是解决名称冲突所必需的。
[1] 我看到你的版本是 v5.1 - 但你的PowerShellGet模块似乎已经过时了;可以想象,手动安装的旧版本会覆盖捆绑版本。
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |