发布信息

Windows官方「包管理工具」下载安装WinGet支持Windows10

作者:软荐小编      2023-10-07 23:07:15     306

软件包管理工具是在计算机上自动安装、配置、卸载和升级软件包的工具。 基于命令行的包管理工具已在 *NIX 世界中广泛使用。 无论是 macOS 的 Homebrew 还是各大 Linux 发行版的包管理(APT、Yum、Pacman...),它们不仅有完善的使用机制,还有丰富的软件包生态系统,是*的最佳选择NIX系统软件包的安装和管理。

Windows在“包管理工具”方面一直表现平平。 社区的努力让Windows有了我强烈推荐的Chocolatey和Scoop。 Windows本身历史上曾推出过具有类似“包管理工具”功能的OneGet和NuGet。 不过,前两者始终依赖社区维护者的厚爱,而后两者则更注重开发环境中的软件安装,不提供日常用户使用的软件,因此并不完美。

教程软件开发_et软件教程_教程软件测试

WinGet - Windows 官方包管理工具

在刚刚结束的 Microsoft Build 2020 上,微软终于发布了面向普通 Windows 用户的官方 Windows“包管理工具”——Windows Package Manager,也称为 WinGet。 有了WinGet,Windows用户终于可以通过官方渠道在命令行环境下管理软件了。

下载并安装

WinGet 支持 Windows 10 版本 1709 及更高版本。 现在使用Windows 10的同学可以直接下载安装。 官方提供了以下安装方法:

通过微软商店下载

目前WinGet还处于Preview阶段,所以如果你想使用官方渠道安装WinGet,那么你需要:

之后,WinGet 本身(在命令行环境中)应该出现在您的系统上,并且可以通过 Microsoft Store 同步更新。

通过 GitHub Release 手动安装

另外,您还可以直接进入WinGet官方GitHub仓库,在Release页面手动下载WinGet安装程序进行手动安装。

教程软件测试_教程软件开发_et软件教程

从 WinGet 的 GitHub Release 页面手动下载并安装

熟悉WinGet操作和命令

安装WinGet后,我们可以在PowerShell或CMD中使用winget命令来调用它。

WinGet:微软官方开发的Windows包管理工具

直接运行winget命令,WinGet会向我们展示它的一些基本操作et软件教程,包括安装软件、显示软件信息、显示应用程序源、搜索软件、验证安装程序等。 日常使用Windows时,我经常使用Scoop进行软件安装和管理。 这里我将WinGet和Scoop面对面对比一下命令,看看几个常用的功能(安装软件、显示信息、搜索软件)。 WinGet 和 Scoop 之间的区别。

安装软件

大家安装软件的方式都是一样的,都是winget install {软件名称}和scoop install {软件名称}。 例如,这里我使用WinGet和Scoop来下载并安装Postman:

# 使用 WinGet 安装一遍
winget install postman
# 卸载,再用 Scoop 安装一遍
scoop install postman

教程软件开发_教程软件测试_et软件教程

使用WinGet和Scoop下载并安装Postman

安装过程可能类似。 WinGet 安装 exe 文件,而 Scoop 安装 NuGet 的 .nupkg 文件。 两者都是Windows上常见的软件安装文件。 界面上,WinGet的下载进度条很酷,而Scoop仍然使用“字符进度条”,简单而诚实。

另外,WinGet还有一个相当酷的进度条。 只需在安装命令后添加--rainbow参数即可解锁彩虹进度条! (这些你有吗?(/▽\))

et软件教程_教程软件开发_教程软件测试

使用WinGet下载安装程序的彩虹进度条以及整个下载过程

显示软件详细信息

同样,WinGet和Scoop都支持显示某个软件的详细信息。 这里,WinGet使用的命令是:

winget show postman

Scoop对应的命令是:

scoop info postman

et软件教程_教程软件开发_教程软件测试

显示要安装的软件的详细信息

两者都显示了当前要安装的软件的版本信息、官网、原始地址、下载链接等信息,比较相似。

搜索特定软件

WinGet和Scoop也支持搜索某个软件。 使用相同的搜索{软件名称}命令。 例如,搜索Steam:

# WinGet 搜索 Steam
winget search steam
# Scoop 搜索 Steam
scoop search steam

et软件教程_教程软件开发_教程软件测试

WinGet 和 Scoop 搜索特定软件

当然,WinGet和Scoop都是关键字匹配搜索。 由于Scoop目前拥有比较丰富的软件库,因此它可以搜索到的东西比WinGet更多。 另外,我发现WinGet的搜索速度比Scoop要快。 这可能是因为Scoop需要连接网络才能遍历整个软件桶,所以搜索速度没有那么快。

除了上面介绍的三个命令外,WinGet还有方便WinGet软件源码开发和管理人员的validate命令、hash命令等。

WinGet安装管理软件原理

WinGet目前仍处于预览阶段,使用Manifest文件来管理和安装不同的软件。 这个设计理念与Scoop高度相似。 为了让您彻底理解这个过程,我们首先具体介绍一下WinGet、Scoop等Windows包管理工具在软件安装过程中是如何工作的。

WinGet是一个典型的“基于Windows”的包管理工具。 由于Windows本身的设计,软件安装几乎总是伴随着“软件安装程序”的使用。 因此,WinGet等“包管理工具”,包括Scoop,实际上取代了我们:

像 WinGet 这样的包管理器如何知道在哪里查找软件、下载并安装它? 答案是读取软件对应的Manifest文件。

教程软件测试_教程软件开发_et软件教程

WinGet 安装软件的工作原理

就像图中描述的流程一样,在安装软件时,WinGet和Scoop首先去各自维护的软件Manifest库中查找对应的软件安装Manifest文件。 这个文件就像一个使用说明书,指导软件包管理工具的安装。 软件的具体流程。 WinGet、Scoop等Windows包管理工具会根据软件对应的Manifest文件进行准备、下载、安装和清理。

可以发现,这个过程中最重要的一步就是找到“软件清单库”,并请求要安装的软件对应的“清单文件”。 对于WinGet,微软目前在GitHub上维护着一个开源的microsoft/winget-pkgs仓库,用于让WinGet找到该软件对应的manifest文件。

et软件教程_教程软件测试_教程软件开发

GitHub 上的 Postman 软件清单文件

相应地,Scoop通过桶机制来实现这一功能。 在上一篇文章《将这些软件存储库添加到Scoop中,使其成为功能强大的Windows软件管理器》中,我介绍了Scoop的不同软件存储库、如何添加自定义软件存储库以及如何从第三方软件存储库下载软件。 下载、安装软件等,在WinGet中,我们也有相应的方法。

WinGet 提供了源命令。 使用winget source,我们可以方便地管理不同的WinGet软件Manifest仓库(WinGet官方称为“软件源”)et软件教程,例如:

当然,由于 WinGet 才出现几天,除了官方存储库之外,没有可用的软件存储库。

概括

在我看来,WinGet 和 Windows Terminal 一样,是 Windows 团队为让 Windows 系统更加“开发者友好”而做出的又一努力。 不过,WinGet现在实际上还只是一个半成品。 它的半成品最重要的一点就是只支持安装软件,不支持卸载软件。

同时,WinGet也没有逃脱Windows包管理工具的通病——“软件安装程序”并不是真正意义上的“软件包管理工具”。 目前WinGet只是一个与Chocolatey、Scoop等Windows包管理工具原理相同的工具,都是社区的优秀作品,并没有因为微软本身的加入而有什么新花样。

希望随着未来的不断迭代,WinGet能够成为真正的“Windows包管理工具”,而不是为了重新发明轮子而重新发明轮子,让开发者朋友们像看Windows终端一样大喊“真好吃”。 谢谢阅读。

相关内容 查看全部