Windows的包管理程序,WinGet简单体验
本文最后更新于 450 天前,其中的信息可能已经有所发展或是发生改变。

各家操作系统都有自己的包管理器,能够使用统一的软件源为电脑获取应用。比如Debian的apt,macOS的Homebrew。Windows一直缺少一个广泛使用、功能完备的包管理器,Chocolatey和NuGet也并不是非常完善。终于微软发布了WinGet包管理器,也算是对开发社区更加友好的重要举措。

申请WinGet内测

在写这篇文章的时候,WinGet目前还处于公共预览版阶段,所以需要从Windows 程序包管理器预览体验计划链接的问卷中填入你的微软账号邮箱。申请通过后会给你发一封邮件,然后你就可以在Microsoft Store中等待包管理器的更新了。但现在WinGet已经公测,也已经随Windows推送。

如果你不想使用Microsoft Store,你也可以在GitHub Releases下载单独的安装包,或者加入Windows Insider,直接体验测试版的Windows。

WinGet基本操作

WinGet兼容命令提示符,当然也兼容PowerShell。我使用PowerShell 7.1.1 + Windows Terminal来运行。

以下是winget命令的操作。

那就来实地操作一下,比如安装个TIM?

输入

winget install TIM

来安装TIM。winget会从腾讯的服务器下载最新的安装包,然后静默安装。

小彩蛋:命令后面加–rainbow参数,进度条会变成彩虹色~

下载完成后会请求管理员权限,没啥问题,毕竟Linux装个软件还得输sudo不是。

后面的过程基本是静默安装,只弹出了一个“TIM正在运行,是否关闭TIM”的对话框。也没有任何的捆绑插件,十分纯净。

我又测试了安装华为浏览器,也是静默安装的。这里出现了一个问题:应用名“Huawei Browser”有空格,不能被正确识别。

但是可以使用包名代替:

这样就可以正常安装了。

值得注意的是,这个软件似乎是用户投放的,不属于官方。这个人好像还传了许多奇奇怪怪的软件……

关于软件源

Microsoft的初衷是建设一个对开发者更友好的包管理器,但正如你所见,对于一般人来说,WinGet似乎也挺合适。正如上面的测试,TIM这种日常软件也被包含在软件源中。而且绝佳的地方是它没有捆绑,可以免于安装整个全家桶的困扰。

可以使用winget search命令来搜索软件包。比如搜索xiaomi,出现了MIUI+客户端。

当然,微软自家的应用当然不能落下(虽然不都是微软的应用):

搜索Microsoft得到的结果(部分)

也有其他家的开发工具:

Sublime Text
Clang LLVM
Java运行时

如果你想打会游戏,甚至还有……

Steam

软件包管理器的默认软件源架设在Azure上,但软件源的代码GitHub上。如果你发现缺少你的应用,可以在这里提交Pull Request。也有很多爱好者自行上传的应用。未来也可能会出现第三方软件源。

winget.run是更加友好的软件包查找器,似乎与PyPI有点相似?

一些缺陷

某些软件会出现安装失败的现象。比如上文提到的MIUI+,CLI中提示安装失败:

不光安装失败,还把我之前装的那个版本也整坏了……

而且目前对一些我们可能认为理所当然的东西支持还不稳定,甚至……卸载。它被划为了实验性功能。

参考文献

[1] 使用winget工具管理和安装应用程序 | Microsoft Docs

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇