Microsoft已宣布推出 WinGet 1.4。此更新中值得注意的是 zip 支持,可以自动从压缩文件夹中提取安装包并安装它们。支持的安装程序包是 MSIX、MSI 和 EXE。此版本还包括为更熟悉其他命令行工具的人提供的新命令别名。
这是 Windows 包管理器 (WinGet) 1.4 中的新增功能:
WinGet 显示改进
winget show的输出(如果存在)中添加了更多清单值,例如标签和购买 URL 。下面我有一个运行winget show oh-my-posh -s winget 的例子。由于 Oh My Posh 在 Microsoft Store 和 Windows Package Manager 社区存储库中均可用,因此我将结果缩小到“winget”来源。如果您喜欢我提示中的彩色显示,那就是我正在使用的提示主题引擎。
命令别名
肌肉记忆很难克服。如果您曾尝试在 Linux 系统上键入“dir”或在 Windows 上键入“ls”,您就会明白我的意思。几个新的命令别名已添加到 WinGet 中,可能会有所帮助。当您不带参数运行winget时,默认帮助会显示可用的命令。如果您深入运行winget --help,您将看到是否有可用的别名。在下面,您可以看到“find”是“search”的别名。其他命令别名包括用于安装的add、用于升级的update 、用于卸载的remove和rm 、用于列表的ls和用于设置的config。
如您所料,您现在可以运行winget find vscode并显示与运行winget search vscode相同的输出。
注意:搜索 Windows 包管理器社区存储库时显示的结果按“最佳匹配”试探法排序。WinGet 评估名称、标识符、绰号和标签。它们也比“显示”更具包容性,其中 WinGet 试图找到一个最佳匹配以用于安装。
安装/升级流程增强
某些软件包需要传递显式参数才能执行升级。如果用户运行winget install并且软件包已经安装在机器上,这将导致 winget 失败。我们进行了一些额外的改进,以检测软件包是否已安装并切换到升级流程。如果你不想升级,你可以通过--no-upgrade。这在脚本场景中最常见。我们还注意到有几个包可以自我升级,因此我们的默认行为是允许它们这样做。如果您运行winget upgrade --all并且遇到这些软件包中的一个或多个,它们将被跳过。如果你想包含它们,只需添加--include-explicit。
.zip 存档
WinGet 现在支持安装包含在 .zip 存档中的包。此功能基于对可移植包的现有支持,以及对 MSIX、MSI 和基于 EXE 的安装程序的现有安装程序支持。我们的初始支持包括单个安装程序或(一个或多个)便携式软件包。我们在 GitHub 上保持 Issues 和 PR(Pull s)开放,并为它们添加了“.zip”标签。一旦此版本推出到大多数受支持的 Windows 系统,我们将开始验证现有的 PR 并接受新的 PR。