Windows 自带的秘密武器:winget 基本配置与使用

目录
[隐藏]

winget 简介

WinGet 是微软官方以开源形式开发的一种命令行软件管理工具,使用户能够在 Windows 10、Windows 11 和 Windows Server 2025 计算机上发现、安装、升级、删除和配置应用程序。此工具是 Windows 程序包管理器服务的客户端接口,故可直接使用 winget 进行软件的安装、卸载、升级等操作。

winget 常用命令

  • 列出 winget 的所有命令:winget --help
  • 搜索:winget search <app_name>
  • 安装:winget install <app_name>
  • 卸载:winget uninstall <app_name>
  • 更新:winget upgrade <app_name>
  • 列出所有已安装的应用:winget list
  • 查看某个应用的详细信息:winget show <app_name>
  • 查看 MCP 配置信息:winget mcp

使用示例:

# 搜索 Git
winget search git.git

# 安装 Git
winget install --id Git.Git
# 安装 Git 并指定版本
winget install --id Git.Git --version 2.52.0

# 查看应用详细信息
winget show Git.Git

# 更新指定应用
winget upgrade Git.Git
# 详细模式更新指定应用
winget upgrade Git.Git --verbose
# 静默模式更新所有应用
winget upgrade --all --silent

# 卸载 Git
winget uninstall Git.Git

常用软件安装:

# 安装谷歌浏览器
winget install Google.Chrome
# 安装火狐浏览器
winget install Mozilla.Firefox
# 安装 vscode
winget install Microsoft.VisualStudioCode
# 安装 git
winget install Git.Git
# 安装 python
winget install Python.Python.3.12
# 安装 nodejs
winget install OpenJS.NodeJS

winget 设置使用国内源

winget source 命令用于管理 winget 的源,包括添加、删除、查看、更新等。源提供了用于发现和安装程序包的数据。

  • winget source add 添加新来源
  • winget source list 列出当前源
  • winget source update 更新当前源
  • winget source remove 删除当前源
  • winget source reset 重置源
  • winget source export 导出当前源

winget 添加设置使用国内镜像软件源

winget 默认使用微软 cdn 软件源,本身已经使用了 CDN,但是如果在国内访问速度慢,则可以选择设置使用国内镜像软件源。

以管理员身份打开 PowerShell,执行如下命令:

# 1. 删除官方软件源
winget source remove winget

# 2. 添加国内镜像源,如:
# 中科大镜像源
winget source add winget https://mirrors.ustc.edu.cn/winget-source --trust-level trusted
# 南京大学镜像源
winget source add nju https://mirror.nju.edu.cn/winget-source --trust-level trusted

# 3. 验证镜像源是否添加成功
winget source list

# 4. 更新所有软件源
winget source update

# 5. 搜索 Python 测试镜像源是否可正常使用
winget search Python.Python.3

# 6. 恢复默认设置
winget source reset winget

winget 设置代理

# 1. 开启配置(需管理员权限的 PowerShell,这里直接使用了 sudo 命令,该命令需在开发者选项开启后可用)
sudo winget settings --enable ProxyCommandLineOptions

# 2. 设置默认代理示例
winget settings set DefaultProxy http://127.0.0.1:7089

# 3. 打开配置文件进行查看和修改
winget settings

# 4. 恢复默认设置
winget settings set DefaultProxy

winget 高级用法

批量安装软件

可以创建一个软件列表文件,然后批量安装:

# 创建软件列表 apps.txt
echo Google.Chrome > apps.txt
echo Microsoft.VisualStudioCode >> apps.txt
echo Git.Git >> apps.txt

# 批量安装
winget install -e --id-file apps.txt

导入导出已安装软件

# 导出已安装软件列表
winget export -o installed-apps.json

# 从列表文件批量安装
winget import -i installed-apps.json --ignore-unavailable

使用交互模式

# 交互式搜索和安装
winget search --interactive
winget install --interactive <app_name>

查看安装日志

# 查看详细日志
winget install --verbose --logs <app_name>

管理软件版本

# 列出可用的软件版本
winget show <app_name> --versions

# 安装指定版本
winget install <app_name> --version x.y.z

# 阻止特定软件升级
winget pin add <app_name>

# 查看已阻止的软件
winget pin list

# 移除阻止
winget pin remove <app_name>

winget 配置文件

winget 的配置文件位于:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

常用配置项:

{
  "installBehavior": {
    "preferences": {
      "interactivity": "silent"
    }
  },
  "telemetry": {
    "disable": false
  },
  "network": {
    "Downloader": "Default"
  }
}

常见问题与解决方案

winget 命令不存在

Windows 10 版本需要至少 1709 版本,或者手动安装 App Installer

权限不足

某些软件安装需要管理员权限,以管理员身份运行 PowerShell

搜索不到软件

  1. 更新软件源:winget source update
  2. 使用确切的包名:winget search --exact <name>
  3. 检查软件是否在 winget 仓库中

Scoop 与 winget 的主要区别

在 windows 平台上的命令行软件包管理工具还有较为有名的 Scoop、Chocolatey 等,其中 Scoop 使用较为广泛。

特性 winget Scoop
开发者 微软官方 社区开源
安装位置 通常在 Program Files 或 AppData 用户目录下 (~/scoop)
权限需求 某些软件需要管理员权限 通常不需要管理员权限
软件源数量 官方主源 + 可自定义 官方 bucket + 社区 buckets
适用场景 通用软件安装、系统级应用 开发工具、便携式软件
跨用户支持 支持所有用户 单用户安装

选择建议
- 如果需要安装系统级应用或常用办公软件,推荐使用 winget
- 如果主要安装开发工具且希望便携,推荐使用 Scoop
- 两者可以共存,根据不同场景选择使用

扩展参考