Winget介绍:Windows包管理器安装与软件管理指南 – wiki基地


Winget 介绍:Windows 包管理器安装与软件管理指南

在现代操作系统中,包管理器已经成为开发者和普通用户高效管理软件的必备工具。对于 Windows 用户而言,Microsoft 自家的 Windows 包管理器 (Windows Package Manager),通常被称为 Winget,提供了一种现代化、命令行驱动的方式来发现、安装、升级和卸载应用程序。本文将详细介绍 Winget 的安装过程、基本用法以及它如何改变 Windows 上的软件管理体验。

什么是 Winget?

Winget 是一个免费、开源的包管理器,由 Microsoft 开发并于 2020 年首次发布。它旨在为 Windows 应用程序提供一个统一的安装和管理体验,类似于 Linux 上的 aptyum 或 macOS 上的 Homebrew。通过 Winget,用户可以从命令行轻松地安装各种应用程序,包括桌面应用、开发工具以及许多常用软件。

Winget 的核心优势在于其庞大的软件仓库。它汇集了来自 Microsoft Store、GitHub 以及其他第三方来源的应用程序,并通过社区维护的清单 (manifests) 来确保软件的可靠性和更新。

Winget 的安装

Winget 通常会预装在 Windows 10 (版本 1809 及更高版本) 和 Windows 11 的新安装中,或者作为 App Installer 应用的一部分自动更新。如果您不确定是否已安装,或需要手动安装,可以遵循以下步骤:

方法一:通过 Microsoft Store (推荐)

最简单的方法是通过 Microsoft Store 安装或更新“App Installer”应用程序。Winget 是 App Installer 的一个组件。

  1. 打开 Microsoft Store。
  2. 在搜索栏中输入“App Installer”。
  3. 找到“App Installer”应用并点击“获取”或“更新”。
  4. 安装完成后,打开命令提示符 (CMD) 或 PowerShell,输入 winget 并按回车。如果显示 Winget 的帮助信息,则表示安装成功。

方法二:手动安装 (GitHub)

如果无法访问 Microsoft Store,或者需要特定版本,可以从 Winget 的 GitHub 仓库手动下载安装包。

  1. 访问 Winget 的 GitHub 发布页面:https://github.com/microsoft/winget-cli/releases
  2. 找到最新稳定版本的 .msixbundle 文件 (例如 Microsoft.DesktopAppInstaller_*.msixbundle)。
  3. 下载该文件,然后双击运行,按照提示完成安装。
  4. 安装完成后,打开命令提示符 (CMD) 或 PowerShell,输入 winget 并按回车进行验证。

Winget 的基本用法

安装 Winget 后,您就可以开始使用它来管理您的应用程序了。以下是一些最常用的 Winget 命令。

1. 查找应用程序 (winget search)

在安装任何软件之前,您可能需要查找可用的应用程序。

bash
winget search <application_name>

示例:

bash
winget search "Visual Studio Code"
winget search spotify

这将列出所有与搜索词相关的应用程序,包括其 ID、版本和来源。

2. 安装应用程序 (winget install)

找到要安装的应用程序后,可以使用其 ID 来安装。ID 是唯一的,并且通常比应用程序的全名更短。

bash
winget install <application_id>

示例:

bash
winget install Microsoft.VisualStudioCode
winget install Spotify.Spotify

  • 静默安装: 默认情况下,Winget 会尝试进行静默安装 (无用户交互)。如果应用程序不支持静默安装,Winget 会弹出安装向导。
  • 指定版本: 您可以安装特定版本的应用程序。

    bash
    winget install <application_id> --version <version_number>

3. 升级应用程序 (winget upgrade)

Winget 允许您轻松地将已安装的应用程序升级到最新版本。

  • 检查可升级应用:

    bash
    winget upgrade

    此命令将列出所有有新版本可用的应用程序。
    * 升级特定应用:

    bash
    winget upgrade <application_id>

  • 升级所有应用:

    bash
    winget upgrade --all

    这是一个非常方便的命令,可以一次性更新所有通过 Winget 安装的、有更新的应用程序。

4. 卸载应用程序 (winget uninstall)

如果您不再需要某个应用程序,可以使用 Winget 卸载它。

bash
winget uninstall <application_id>

示例:

bash
winget uninstall Microsoft.VisualStudioCode

5. 列出已安装的应用程序 (winget list)

查看所有通过 Winget 管理或 Winget 能够识别的已安装应用程序。

bash
winget list

您还可以结合搜索功能来查找特定已安装的应用程序:

bash
winget list <application_name>

6. 查看应用程序信息 (winget show)

获取某个应用程序的详细信息,包括其版本、发布者、URL、哈希值等。

bash
winget show <application_id>

7. 导出和导入应用程序列表 (winget export / winget import)

Winget 最大的便利之一是能够导出当前安装的应用程序列表,并在其他机器上轻松导入安装。这对于新机器设置或重建开发环境非常有用。

  • 导出列表:

    bash
    winget export -o applist.json

    这将创建一个 applist.json 文件,其中包含所有当前通过 Winget 安装的应用程序 ID 和版本。
    * 导入列表:

    bash
    winget import -i applist.json

    此命令将读取 applist.json 文件,并尝试安装或升级其中列出的所有应用程序。

Winget 的高级特性与注意事项

  • 社区驱动的仓库: Winget 的软件仓库是社区驱动的。这意味着任何开发者都可以向其提交应用程序清单,经过审核后即可添加到仓库中。这大大扩展了 Winget 可管理的软件范围。
  • 多源支持: Winget 不仅支持其官方仓库,还可以集成其他来源 (例如私人企业内部仓库)。
  • Hash 验证: 为了确保下载的软件的完整性和安全性,Winget 会对下载的文件进行哈希验证。
  • GPO 管理: 在企业环境中,Winget 也可以通过组策略对象 (GPO) 进行管理和部署。
  • PowerShell 模块: 虽然 Winget 本身是命令行工具,但社区也开发了 PowerShell 模块 (例如 Microsoft.WinGet.Client),提供了更丰富的脚本化功能。

总结

Winget 的出现极大地改善了 Windows 上的软件管理体验。它提供了一个强大、灵活且现代化的命令行工具,让应用程序的安装、升级和卸载变得前所未有的简单和高效。无论是对于开发者快速搭建开发环境,还是对于普通用户管理日常软件,Winget 都无疑是一个值得掌握的利器。随着其不断发展和壮大,Winget 将在 Windows 生态系统中扮演越来越重要的角色。


滚动至顶部