写作前面
如果你钟爱命令行工具,那么 Windows Terminal 和 Windows PowerShell 就是你不可或缺的工具。而且现在基本上都是 Windows 10 时代了嘛,所以 PowerShell 的安装更新方式也增加了几种,最简单的当然是在 Windows 10 应用商店中搜索 powershell,然后下载安装,目前最新版本为 7.1.4,这里我们介绍另外一种下载安装方式 —— Winget
首先我们要知道像 Mac、*nix 系统都是有自己的包管理器的,类似应用市场,遵循固定的格式和 Schema 就能让包管理器从互联网识别,由官方和社区维护,大家都可以通过一个命令来安装软件,这样听起来是不是很爽?再想想 Windows 安装软件的方式,想要安装,得跑去官网找下载地址,然后还有一系列安装流程,一不留神就安装了好几个软件,再一个是卸载软件,总是卸载不干净,这些年, Windows 上也踊跃出了不少的包管理器,比如 chocolatey、scoop,前者由官方和社区维护,后者由社区维护。
下载安装
第一步
查看 piwershell 当前版本,$psversiontable
或者 Get-Host | Select-Object Version
,5.1 就是我目前的版本,这也是 Windows 10 自带的版本
❯ $psversiontable
Name Value
---- -----
PSVersion 5.1.22000.65
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.22000.65
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
第二步
打开 Windows Terminal 终端,输入 winget 并回车,我们就能看到下面 winget 的使用方式。
❯ winget
Windows Package Manager v1.0.11694
版权所有 (C) Microsoft Corporation。保留所有权利。
WinGet 命令行实用工具可从命令行安装应用程序和其他程序包。
使用情况: winget [<命令>] [<选项>]
下列命令有效:
install 安装给定的程序包
show 显示包的相关信息
source 管理程序包的来源
search 查找并显示程序包的基本信息
list 显示已安装的程序包
upgrade 升级给定的程序包
uninstall 卸载给定的程序包
hash 哈希安装程序的帮助程序
validate 验证清单文件
settings 打开设置
features 显示实验性功能的状态
experimental 实验性功能示例
export 导出已安装程序包的列表
import 安装文件中的所有程序包
如需特定命令的更多详细信息,请向其传递帮助参数。 [-?]
下列选项可用:
-v,--version 显示工具的版本
--info 显示工具的常规信息
可在此找到更多帮助: https://aka.ms/winget-command-help
接着执行 winget search powershell
,我们可以看到出现了有10条记录,要认准官方正版的是 ID 带有 Microsoft 前缀,这意味着带有 Microsoft 前缀的软件都属于微软开发的
❯ winget search powershell
名称 ID 版本 匹配 源
-----------------------------------------------------------------------------------------------
PowerShell Microsoft.PowerShell 7.1.4.0 winget
Windows Terminal Preview Microsoft.WindowsTerminalPreview 1.10.1933.0 Tag: PowerShell winget
Windows Terminal Microsoft.WindowsTerminal 1.9.1942.0 Tag: powershell winget
PowerShell Preview Microsoft.PowerShell.Preview 7.2.0.8 Tag: powershell winget
ConEmu Maximus5.ConEmu 11.210.8160 Tag: powershell winget
EasyConnect lstratman.easyconnect 3.1.0.105 Tag: powershell winget
Oh My Posh JanDeDobbeleer.OhMyPosh 3.173.0 Tag: PowerShell winget
electerm electerm.electerm 1.16.1 Tag: PowerShell winget
TfsCmdlets Igoravl.TfsCmdlets 2.1.0.2485 Tag: powershell winget
PowerShell Universal IronmanSoftware.PowerShellUniversal 2.0.0 winget
然后执行 winget install Microsoft.PowerShell
,出现多条记录时,通过 ID 来进行下载
❯ winget install Microsoft.PowerShell
已找到 PowerShell [Microsoft.PowerShell]
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x64.msi
██████████████████████████████ 94.9 MB / 94.9 MB
已成功验证安装程序哈希
正在启动程序包安装...
已成功安装
第三步
打开 Windows Terminal 的“设置”
接着点击“打开 JSON 文件”,文件位于 $home\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
然后,我们看到 “profiles” 下的 “list” 列表,正常情况下 Windows.Terminal.PowershellCore
是处于最后一个,这里我已经将它挪到了第一位,同时,我们将 “profiles” 上方的 "defaultProfile" 设置为 PowerShell 7 的 guid 值,这样,我们每次打开 Windows Terminal,就会是 PowerShell 7 了
第四步
验证版本信息,可以看到已经是 7.1.4 了,可执行文件位置在 C:\Program Files\PowerShell\7\pwsh.exe
,如果遇到 IDE,可以通过这个路径指定 PowerShell的版本
❯ $psversiontable
Name Value
---- -----
PSVersion 7.1.4
PSEdition Core
GitCommitId 7.1.4
OS Microsoft Windows 10.0.22000
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
评论 (0)