全部文章

Winget 包管理器

Windows 官方包管理器 winget 的安装、搜索、批量导出导入与常见问题处理

目录 18 节

Winget 包管理器

winget 是 Windows 官方提供的命令行包管理器,适合安装桌面软件、统一升级和批量恢复常用软件。

如果你是在重装 / 新装系统后恢复整机环境,请先把它当作 Windows 重装部署顺序指南 里的系统侧安装入口,而不是一上来就对整台机器无差别批量安装。/setup 负责定义先后顺序,这一页只负责解释 winget 的操作方式。

什么时候优先用 winget

  • 你刚装好一台 Windows 电脑,想快速把常用软件补齐
  • 你希望以后能用命令统一升级软件
  • 你想导出当前机器的软件清单,在另一台机器复用
  • 你更信任微软官方生态而不是第三方脚本仓库

如果你更看重便携性、自定义 bucket 和开发者目录控制,可以搭配 Scoop 包管理器

使用前建议

  • 尽量在 PowerShellWindows Terminal 中运行
  • 搜索到多个包时,优先使用精确的 --id
  • 批量安装时带上协议参数,减少中断
  • 重要软件升级前先看一眼版本变化,不要盲目 upgrade --all
  • 整机恢复时,先恢复主 Shell 与目录规划,再用 winget 安装系统级和 GUI 软件

常用命令

winget search vscode
winget install Microsoft.VisualStudioCode
winget list
winget upgrade Git.Git
winget upgrade --all
winget uninstall Docker.DockerDesktop
winget show Microsoft.VisualStudioCode

更稳的写法通常是:

winget search --exact --id Microsoft.VisualStudioCode
winget install --exact --id Microsoft.VisualStudioCode

批量安装与迁移

# 导出当前已安装列表
winget export -o my-apps.json

# 在新机器上导入
winget import -i my-apps.json

导出 / 导入时要注意

  • export 更像“清单备份”,不一定完整保存所有安装参数
  • 某些商店应用、驱动、商业软件仍可能需要手动补
  • 导入失败时,优先拆成单条 install --id ... 排查

常用安装清单

下面这些清单适合在 /setup 对应阶段内按需执行,不建议把它们当成系统初始化的唯一顺序。

开发机基础

winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Docker.DockerDesktop
winget install Python.Python.3.12
winget install Rustlang.Rustup

Node.js / 前端工具链

winget install OpenJS.NodeJS.LTS
winget install Schniz.fnm
winget install pnpm.pnpm
winget install JanDeDobbeleer.OhMyPosh
winget install astral-sh.uv

通用效率工具

winget install 7zip.7zip
winget install Mozilla.Firefox
winget install Notepad++.Notepad++

进阶用法

# 静默安装
winget install Git.Git --silent

# 指定版本
winget install Python.Python.3.12 --version 3.12.5

# 接受所有协议
winget install Git.Git --accept-package-agreements --accept-source-agreements

# 指定安装位置
winget install Git.Git --location "D:\Tools\Git"

适合初始化脚本的组合写法:

winget install --exact --id Git.Git --silent --accept-package-agreements --accept-source-agreements

配置源

winget source list
winget source reset --force
winget source update

如果你遇到“搜不到包”或“安装列表不完整”,优先先做一次 source update

常见问题

搜索不到包

  • 先执行 winget source update
  • search --exact --id 代替模糊关键词
  • 确认包名和包 ID 没写错

安装时弹太多确认框

可以补上:

--silent --accept-package-agreements --accept-source-agreements

upgrade --all 风险太大

对开发机来说,建议先 winget upgrade 看清单,再按需升级浏览器、编辑器、CLI 工具,不要每次无脑全量升级。

与手动安装 / Scoop 混用

不是不能混用,但最好明确:

  • 哪些软件由 winget 管
  • 哪些软件由 Scoop 管
  • 哪些软件仍旧手动安装

否则后期升级时容易混乱。

什么时候不用 winget

  • 你想用便携版软件
  • 你需要社区 bucket
  • 你要严格控制软件安装目录和链接方式

这类场景一般更适合 Scoop 包管理器

参考链接

阅读建议
  • - 先读标题和摘要,再结合目录决定从哪个章节开始精读。
  • - 看到具体命令、配置或步骤时,尽量在自己的环境里同步验证。
  • - Windows 相关文档通常要留意管理员权限、终端类型和路径差异。
适合谁看
  • - 希望把零散经验整理成长期可复用工作流的人
  • - 以 Windows 为主力系统,希望提升稳定性和效率的用户
  • - 希望阅读时顺手建立自己的操作清单或收藏体系的人
执行前检查
  • - 先浏览标题、摘要和目录,带着问题阅读会更高效
  • - 确认是否需要管理员终端,并在高风险操作前创建还原点或备份
  • - 如果页面里提到相关文档,尽量一起打开对照,效果通常更完整
同类内容
← 上一篇WSL 安装与配置