第17期——windows下的包管理器WinGet

欢迎来看第17期的产品小记,名字随便起的,随着后面坚持下去期数做的多了想到好名字再换。本栏目是寻找最新发布的产品,以技术视角分析开发的方式和盈利的方式,并简单的对产品进行点评。
同时做这个栏目的初衷就是为了让大家发散思维,形成自己的好点子,激发兴趣去完成自己的业余独立项目,进而产生副业获取收入。对于较大的复杂的项目也欢迎在下方评论区组队或者加群交流。

本期介绍WinGet

地址https://github.com/microsoft/winget-cli.git

Windows 程序包管理器是微软刚刚发布的程序包管理器解决方案,包含了一款命令行工具 winget,主要面向开发者和软件提供商,用来搜索、安装、升级、删除和配置特选应用程序集,也就是说以后普通用户只需要敲击几下命令就能安装软件了,省去了传统搜索、下载软件安装包的过程。
winget功能
目前 winget 有下列命令:
  • install 安装指定的应用程序
  • show 显示关于应用的信息
  • source 管理应用源
  • search 查找并显示应用的基本信息
  • hash 哈希安装程序的帮助程序
  • validate 验证清单文件
  • -v,–version 显示工具的版本
  • –info 显示工具的常规信息

使用示例,如何下载edge浏览器

  1. 搜索程序包 winget search edge
  2. 获得程序包 ID “Microsoft.EdgeDev”
  3. 安装 winget install Microsoft.EdgeDev
《第17期——windows下的包管理器WinGet》
然后,就完成了 Edge 开发者版本的安装。
可以说这么多年以来,Windows下的确是缺失这么一款工具,但是与此同时,这个工具也受到了一些争议。因为这个工具是有另一个开源的前身,AppGet
在 Build 2020 大会之前,微软官方虽然一直没有软件包管理器,但是位于加拿大的凯文·贝吉(Keivan Beigi)早在 2018 年就发布了一个开源免费的软件包管理器 AppGet,用以在 Windows 中安装和更新软件。AppGet 基本上可以模仿 apt-get 在 Linux 中的工作方式,例如,使用命令 appget install winrar 将在计算机中下载并安装 WinRAR 浏览器。
AppGet 开源至今已经包含了 1400 多个软件包,每个软件包都经过了验证。并且还拥有相当大量的使用者,早已成为 Windows 生态系统的重要补充。

据作者表示,微软的官方曾经与他有过联系,甚至表示愿意提供在加拿大的全职职位,然而直到新冠病毒爆发,也没有等来这个职位。最终等到的邮件是微软的婉拒,并表示发布了全新的WinGet,但是WinGet 核心原理、术语、manifest 格式或者结构,就连软件包 repo 的文件夹结构都跟 AppGet 一模一样。最终作者宣布自己的开源项目会在今年8月份终结并且不再提供维护。

技术方案

类似的还有 Chocolatey等工具。不过对于普通用户来说,缺乏的只是一个类似yum,apt-get或者是homebrew这样的一个工具,对于企业来说倒是需要更强大的部署工具比如ansible。AppGet虽然我没用过,但是homebrew还是用的,只能说这个东西是刚需,但是被大公司抢了确实也没什么办法。

我们可以怎么做

遇到类似问题的时候,能卖就卖嘛,开源固然精神可嘉,能到手的面包是不是更实际呢?

 

点赞