winget
> winget — Windows官方包管理器,一行命令搞定软件安装、更新与卸载。
---
嘿,各位Windows用户,你们是不是也受够了那种“下载安装包→双击→狂点下一步→选安装路径→等进度条→点完成”的折磨?尤其是当你想装个Chrome、装个微信、装个Adobe全家桶的时候,那感觉就像在玩一个毫无意义的点击游戏。
今天我要聊的,就是微软官方出品的“解药”——**winget**。它不是第三方野路子,是微软亲儿子,内置在Windows 10和Windows 11里的命令行包管理器。简单说,它就是Windows版的`apt`或`brew`,让你告别浏览器搜索、跳过下载站、避开捆绑软件,直接在终端里装应用。
## 这玩意儿到底解决啥问题?
1. **装软件慢**:不用再去官网找下载链接,不用怕下到带广告的假网站。`winget install chrome` 直接拉取官方源。
2. **更新麻烦**:以前每个软件都要自己检查更新,现在 `winget upgrade --all` 一键更新所有已安装的软件。
3. **卸载残留**:控制面板卸载完,注册表、AppData里一堆垃圾。winget卸载相对干净。
4. **批量部署**:重装系统后,写个脚本,一行一行跑winget,半小时装回所有常用软件,爽到飞起。
## 下载和安装
**好消息:winget根本不用下载!** 只要你用的是Windows 10 1809+或Windows 11,并且系统更新到最新,它已经内置了。你可以直接在PowerShell或CMD里试试:
```powershell
winget --version
```
如果提示找不到命令,那就去微软官方商店装“App Installer”:
👉 [微软官方App Installer页面](https://apps.microsoft.com/detail/9nblggh4nns1)
或者直接去GitHub下载最新版:
👉 [winget GitHub Releases](https://github.com/microsoft/winget-cli/releases)
装完之后,重新打开终端,`winget --version` 就能用了。
## 基础使用教程(90%的日常需求)
### 1. 搜索软件
不确定软件包的名字?搜一下:
```powershell
winget search vscode
```
输出会列出所有匹配的包,注意看`Id`那一列,比如`Microsoft.VisualStudioCode`,这个就是安装时要用的完整ID。
### 2. 安装软件
最常用命令,没有之一:
```powershell
winget install Microsoft.VisualStudioCode
```
也可以偷懒用模糊名,但可能会让你选:
```powershell
winget install vscode
```
它会自动匹配,如果有多个结果会让你选择。加`--silent`可以静默安装,不弹任何界面(适合脚本):
```powershell
winget install Google.Chrome --silent
```
### 3. 列出已安装的软件
```powershell
winget list
```
会列出所有通过winget或系统识别到的已装软件,带版本号。
### 4. 更新软件
先看看哪些有更新:
```powershell
winget upgrade
```
然后全部更新:
```powershell
winget upgrade --all
```
或者只更新某个:
```powershell
winget upgrade Tencent.WeChat
```
### 5. 卸载软件
```powershell
winget uninstall Tencent.WeChat
```
同样支持`--silent`。
## 进阶技巧(老鸟必看)
### 1. 批量安装神器:`winget import` / `export`
重装系统前,先导出你所有的软件清单:
```powershell
winget export -o C:\backup\apps.json
```
重装完系统后,一键导入并安装:
```powershell
winget import -i C:\backup\apps.json --accept-package-agreements --accept-source-agreements
```
这个`--accept-*`参数是自动接受协议,不然会卡在确认上。
### 2. 自定义安装源
winget默认源是微软官方,但你也可以添加社区源,比如著名的`winget-pkgs`镜像或私有源:
```powershell
winget source add myrepo https://example.com/winget/
```
### 3. 查看软件详细信息
安装前想看看这软件是干嘛的、版本号、是否支持静默安装:
```powershell
winget show Microsoft.PowerShell
```
重点看`Installer`段里的`Silent`字段,如果是`/S`或`--silent`,说明支持静默。
### 4. 绕过商店限制
有些软件默认走Microsoft Store,但你想装传统桌面版,可以加`--source winget`强制:
```powershell
winget install Microsoft.Office --source winget
```
### 5. 用别名简化命令
PowerShell里可以设置函数别名,比如:
```powershell
Set-Alias wi winget
```
之后`wi install firefox`就能用了。但注意,这只是在当前会话有效,想永久生效就写进`$PROFILE`。
### 6. 处理“安装被阻止”的坑
某些软件(比如杀毒软件)需要管理员权限,如果你在普通终端跑,会报错。解决办法:右键终端→“以管理员身份运行”,或者用`Start-Process`提权。
### 7. 查看winget日志
如果安装失败,想看详细原因:
```powershell
winget install xxx -v
```
或者去`%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir`里翻日志。
## 一些使用心得
- **别指望它覆盖所有软件**:winget仓库里大概有几千个包,但有些国产冷门软件确实没有。这时候还是老老实实去官网下。
- **更新频率**:微软官方源更新挺勤的,但有些软件(尤其国内厂商)可能滞后,遇到版本不对就手动装。
- **配合`choco`或`scoop`**:如果你是个重度玩家,可以把winget和scoop搭配用。scoop适合绿色便携软件,winget适合系统级安装。
- **注意静默安装的坑**:有些软件明明支持静默,但winget调用时还是会弹UAC,这是正常的,因为安装程序需要提权。
## 最后
winget不是万能的,但它绝对是我重装系统后的第一件事——先装它(虽然它内置),然后写个脚本把Chrome、微信、QQ、VSCode、7-Zip、Everything一股脑装完,泡杯咖啡的功夫全搞定。
如果你还在手动点安装包,真的,试试winget,你会回来感谢我的。有问题评论区聊,或者直接`winget --help`,官方文档写得挺清楚。
就这样,下次见。👋