winget:把 Windows 开发环境变成可重复清单
用 winget 搜索、安装、升级和导出 Windows 包,建立可重复清单,并避开供应链陷阱。
测试环境Pro (26H2) · 版本号 26300.9457 · x64
E1- 版本号
- 26300.9457
- 版本
- Pro (26H2)
- 架构
- x64
- 支持
- 文档(E1)
- 证据
- E1官方文档
- 核验日期
- 2026-10-28
- 页面类型
- 任务
winget 是 Windows 包管理器。它从配置的源(通常是 winget 和 msstore)按包 ID 安装。适合可重复的开发者工具,不适合盗版软件或随机脚本。
真正有用的流程:
winget search找准确 ID;winget install --id ... -e装指定包;winget export记录现有环境;- 新机
winget import; - 信任旧清单前重新核对 ID/版本。
winget --versionwinget source list没有 winget 就从 Microsoft Store 装 应用安装程序。Windows Server 上支持更有限,查当前文档。
winget search powershellwinget install --id Microsoft.PowerShell -ewinget upgrade --id Microsoft.PowerShell -ewinget upgrade --all-e是精确 ID,避免装到名字相近的包。--scope machine在包支持时装给所有用户;否则可能是当前用户。--silent/--accept-package-agreements方便自动化;看清你接受了什么。winget list看已装;winget upgrade看可升级。
winget export -o C:\dev\packages.jsonwinget import -i C:\dev\packages.json导出的是包 ID 和源名,不是安装包。新机导入前:
- 先审查 JSON;
- 删掉不再用的包;
- 检查是否需要特定 scope/版本;
- 不要导入不可信仓库的清单。
更复杂的配置用 winget configure(DSC)。它很强,也容易过度应用;从小文件开始,应用前读计划。
- 优先官方
winget/msstore源。 - 核对包 ID 和发布者;相似名字可能是另一个产品。
- 不要为了一个应用加随机第三方源。
- 不要用 winget 装破解/盗版软件。
- 导入清单当代码看:它会改你的机器。