Windows 包管理器 Winget 入门教程:告别手动安装,拥抱命令行效率
在 Windows 系统中,安装、更新和卸载软件常常是一个繁琐的过程:访问官网、下载安装包、一路“下一步”点击。然而,微软推出的 Winget (Windows Package Manager) 彻底改变了这一现状。作为一款免费开源的命令行工具,Winget 旨在为 Windows 用户提供类似 Linux 系统中 APT 或 Homebrew 的包管理体验,让软件管理变得前所未有的高效和便捷。
本文将带你从零开始,全面了解 Winget 的安装、基本概念、常用命令以及一些实用技巧,助你轻松迈入命令行管理软件的新时代。
为什么选择 Winget?Winget 的优势
在深入学习之前,我们先来了解一下 Winget 能为我们带来什么:
- 极简安装:告别手动下载和繁琐的安装向导,只需一条简单的命令,即可完成软件的安装。
- 批量管理:无论是批量安装新系统常用软件,还是统一更新所有已安装程序,Winget 都能轻松搞定,大幅提升效率。
- 安全可靠:Winget 默认使用微软官方验证的软件包源,并支持对软件包的哈希值进行验证,降低了从不明来源下载软件的安全风险。
- 自动化能力:对于 IT 专业人员或需要管理多台设备的场景,Winget 可以方便地集成到脚本中,实现软件部署的自动化。
- 统一体验:将不同来源的软件管理集中到一个命令行工具中,减少了用户学习和适应不同安装方式的成本。
1. 安装 Winget
Winget 通常作为 Windows 10/11 的“应用安装程序 (App Installer)”的一部分提供。
检查 Winget 是否已安装
在开始安装之前,我们首先需要确认你的系统是否已经安装了 Winget。
- 打开 PowerShell 或 命令提示符 (CMD)。你可以通过在开始菜单搜索“PowerShell”或“CMD”来找到它们。
- 在命令行窗口中输入以下命令,然后按回车键:
bash
winget --version - 如果命令行返回一个版本号(例如
v1.4.10173),则表示 Winget 已经成功安装,你可以直接跳到“2. Winget 基础概念”部分。
安装 Winget (如果未安装)
如果 winget --version 命令未能返回版本号,或者提示命令不存在,那么你需要进行安装。
适用于 Windows 11 用户
Winget 通常已在 Windows 11 中默认预装。如果你的 Windows 11 系统中没有,请确保系统已完全更新。
适用于 Windows 10 用户
- 确保系统版本:Winget 要求 Windows 10 的版本为 1809 或更高。你可以在“设置”->“系统”->“关于”中查看你的 Windows 版本。
- 通过 Microsoft Store 安装或更新:
- 打开 Microsoft Store 应用。
- 在搜索栏中输入“应用安装程序” (App Installer)。
- 找到“应用安装程序”并点击“获取”或“更新”。Winget 将会随“应用安装程序”一起安装或更新。
通过 GitHub 手动安装 (推荐,尤其是在无法访问 Microsoft Store 时)
如果你无法访问 Microsoft Store,或者偏爱手动安装,可以通过 GitHub 下载最新版本:
- 访问 Winget CLI 的 GitHub 发布页面:
https://github.com/microsoft/winget-cli/releases - 找到最新版本的发布,向下滚动到“Assets”部分。
- 下载以
.msixbundle结尾的文件(例如Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle)。 - 双击下载的
.msixbundle文件,按照提示进行安装。
安装完成后,再次运行 winget --version 命令,确保 Winget 已成功安装并显示版本号。
2. Winget 基础概念
在使用 Winget 命令之前,了解几个核心概念有助于更好地理解其工作原理:
- 软件包 (Package):指通过 Winget 进行安装、更新或卸载的应用程序或工具。每个软件包都有一个唯一的标识符,通常格式为
Publisher.PackageName。 - 源 (Source/Repository):Winget 获取软件包列表和安装文件的地方。默认情况下,Winget 使用微软官方的“
winget”源。你也可以添加或管理其他第三方源。 - 命令行接口 (CLI):Winget 完全通过命令行进行操作,所有的功能都通过输入特定的命令来实现。
3. 常用 Winget 命令详解
现在我们已经安装了 Winget,并且了解了基本概念,接下来就是 Winget 的核心——命令行操作。
搜索软件 (winget search)
在安装软件之前,你需要知道其确切的软件包 ID。search 命令可以帮助你查找。
bash
winget search <关键词或部分名称>
示例:搜索 Visual Studio Code
bash
winget search vscode
你将看到类似以下的搜索结果,其中包含软件包的名称、ID、版本和源:
“`
名称 ID 版本 匹配 来源
Microsoft Visual Studio Code Microsoft.VisualStudioCode 1.85.1 Tag: vscode winget
VSCodium VSCodium.VSCodium 1.85.1.20233480 Tag: vscode winget
…
“`
记下你想要安装的软件的 ID (例如 Microsoft.VisualStudioCode)。
显示软件包信息 (winget show)
如果你想了解某个软件包的更多信息,例如描述、主页、许可等,可以使用 show 命令。
bash
winget show <软件包ID>
示例:显示 Visual Studio Code 的信息
bash
winget show Microsoft.VisualStudioCode
安装软件 (winget install)
找到软件包 ID 后,安装软件就变得非常简单。
bash
winget install <软件包ID>
示例:安装 Visual Studio Code
bash
winget install Microsoft.VisualStudioCode
-
静默安装:大多数情况下,Winget 会自动处理安装过程。如果你希望安装程序完全不显示任何用户界面,可以尝试添加
--silent或--silent --accept-package-agreements参数。但并非所有软件包都支持完全静默安装。bash
winget install Microsoft.VisualStudioCode --silent
列出已安装的软件 (winget list)
list 命令可以显示所有 Winget 识别并管理的已安装软件包。
bash
winget list
你也可以结合关键词进行过滤:
bash
winget list python
升级软件 (winget upgrade)
保持软件最新是维护系统安全和获取新功能的重要一步。
-
升级所有可升级的软件:
bash
winget upgrade --all -
升级特定软件:
bash
winget upgrade <软件包ID>示例:升级 Visual Studio Code
bash
winget upgrade Microsoft.VisualStudioCode
卸载软件 (winget uninstall)
不再需要的软件可以通过 uninstall 命令轻松卸载。
bash
winget uninstall <软件包ID>
示例:卸载 Visual Studio Code
bash
winget uninstall Microsoft.VisualStudioCode
管理 Winget 源 (winget source)
Winget 允许你管理其使用的软件包源。
-
列出当前配置的源:
bash
winget source list -
添加新的源:
bash
winget source add --name <源名称> --arg <源URL> -
删除源:
bash
winget source remove --name <源名称>
配置 Winget 设置 (winget settings)
你可以通过编辑 settings.json 文件来配置 Winget 的行为,例如更改默认源、设置代理等。
bash
winget settings
这个命令会用你的默认文本编辑器打开 Winget 的配置文件。
获取帮助 (winget --help 或 winget <命令> --help)
当你对某个命令不熟悉时,可以随时寻求帮助。
bash
winget --help # 获取 Winget 的整体帮助信息
winget install --help # 获取 install 命令的帮助信息
4. 提示与最佳实践
- 验证软件包 ID:在安装任何软件之前,请仔细核对软件包 ID 和发布者,确保你安装的是正版软件,避免安装到恶意或不兼容的版本。
- 探索社区仓库:虽然 Winget 默认源是官方验证的,但社区也存在许多第三方仓库。在使用这些仓库时,请务必谨慎,审查其清单文件和 URL,并在必要时使用杀毒软件扫描下载内容。
- winstall.app:这是一个非常实用的第三方网站 (
winstall.app)。它提供了一个图形化的界面,让你能够轻松搜索 Winget 可用的软件,并生成一个批量安装的命令脚本,非常适合新系统配置。 -
导出与导入软件包列表:如果你经常重装系统或需要在多台设备上保持相同的软件环境,Winget 的
export和import功能将是你的救星。-
导出已安装软件列表:
bash
winget export -o <文件路径>.json -
在新系统上导入并安装:
bash
winget import -i <文件路径>.json
-
总结
Winget 作为 Windows 系统的原生包管理器,极大地提升了软件管理的效率和便捷性。通过掌握其基本的安装、搜索、安装、更新和卸载命令,你将能够告别繁琐的手动操作,享受命令行带来的极致效率。随着 Winget 的不断发展和社区生态的日益完善,它无疑将成为 Windows 用户日常软件管理不可或缺的利器。现在,就开始你的 Winget 之旅吧!