PD虚拟机    VPS    微软    Win10    苹果    Office2019

想将 Win10 改造成 Linux ?微软推出包管理器 WinGet 命令,一键安装各种程序

 系统工具       2020-05-27
想将 Win10 改造成 Linux ?微软推出包管理器 WinGet 命令,一键安装各种程序
25 下载

在发布了的 Windows Terminal 命令行终端工具、Linux 子系统 (WSL2) 之后,微软打算继续将 Windows 变得更像 LinuxMac。这次终于推出了官方的 Windows Package Manager 包管理工具,命令名是「winget」!

无论是开发者、运维人员还是技术高手,在 Linux 和 macOS 下都常用到包管理器来安装和管理应用,特别是一些需要不同依赖的命令行程序。比起手动一个个去官网下载代码编译要方便高效得多,“B 格”更高,而且还能写成批量脚本使用,实现软件的自动化部署……

访问:微软中国官方商城

让 Windows 变得更像 Linux?用包管理命令来下载安装软件

常见的包管理命令,在 UbuntuDebian 下我们有 apt-get,在 CentOSFedora、RHLE 下有 yumdnf,在苹果 macOS 下也有第三方的 Homebrew brew 可以使用。

WinGet 命令行

而 Windows 在“包管理工具”方面则一直乏善可陈,虽然有第三方工具如 chocoscoop,但他们并没掀起什么热潮。终于,微软给 Windows 10 带来了全新的官方包管理命令工具 Windows Package Manage,它就是—— winget

怎样安装 winget 命令

WinGet 命令仅支持 Windows 10 v1709 及以上版本的系统,如果你的系统版本过低,或者还在使用 Win7、8 的同学,请先升级系统再使用。

微软提供多种方式可以让你安装 winget 命令,但截稿为止,由于 Windows Package Manager 还仅仅是预览版,未正式在 Windows Store 应用商店对所有公众开放,但它已经在 GitHub 上开源并放出安装包了,因此我们可以手动下载安装。

使用 WinGet 命令

安装好 WinGet 命令之后,我们就可以在 PowerShell 或者命令行提示符 CMD 中直接输入 winget 命令来使用它了,直接输入该命令即可显示帮助信息。

WinGet 命令

当然,强烈推荐你使用更加先进的「Windows Terminal 终端工具」,它也是微软主推的新工具,提供了更多实用的新特性。

使用 winget 来安装软件:

包管理工具最常用的命令当然是用来「安装软件」了,我们只需敲入:
winget install {软件名称/或软件ID}
即可安装指定的软件。

WinGet Install 安装软件

WinGet 命令用法
winget install安装指定的软件
winget show查看软件的信息
winget source管理应用源
winget search搜索应用
winget hash哈希安装程序的帮助程序
winget validate验证清单文件
winget -v,–version显示 winget 的版本
winget –info显示工具的常规信息

WinGet Install 命令例子

以安装微软 Edge 浏览器为例子,我们可能不清楚它的具体名字,所以先使用 search 命令搜索“edge”,找到软件名称或 ID 之后,则可以通过 Install 命令来安装。具体如下:

  1. 执行:winget search edge
    可以看到 Edge 的包名称为 Microsoft Edge,ID 为:Microsoft.Edge,还有版本信息
  2. 执行:winget install Microsoft.Edge (通过软件 ID 安装)
    或用软件名:winget install "Microsoft Edge" (如有空格则增加双引号)
    即可立即下载并安装最新稳定版的 Edge 浏览器
  3. 安装其他软件同理,比如:
    安装 PowerToyswinget install powertoys
    安装 7-Zipwinget install 7zip
    安装 微信winget install "Tencent WeChat"

WinGet 的用法其实与 apt-get、pip、yum 等软件包管理器的使用方法非常相似,但比较遗憾的是,目前 winget 仅提供了搜索、显示和安装软件包等功能,接下来的更新才会提供「卸载应用」、软件包 list 与更新升级等更多功能。

编写批处理脚本,一次部署安装多款软件:

命令行最大的好处在于你可以根据需要,自行编写批处理脚本或 Powershell 脚本来批量安装多个应用程序,大大减小维护系统的工作量。比如下面的一段代码,就可以帮你一键安装 PowerToysWindows Terminal 程序。

批处理脚本示例:

@echo off
Echo Install Powertoys and Terminal
REM Powertoys
winget install Microsoft.Powertoys
if %ERRORLEVEL% EQU 0 Echo Powertoys installed successfully.
REM Terminal
winget install Microsoft.WindowsTerminal
if %ERRORLEVEL% EQU 0 Echo Terminal installed successfully. %ERRORLEVEL%

你可以根据自己的需要,修改代码的来安装更多的软件和工具。比如重装系统之后,执行一下脚本,就能全部批量将常用软件安装好。

WinGet 命令使用演示视频:

总结:

开发者和 Linux 爱好者而言,官方的 winget 命令行工具可以说是意义非凡。安装软件方便了不少,在其他平台下的习惯可以延伸到 Windows 上,也能让 Windows 的工作流更加灵活,特别是通过脚本来调用,或者在部署软件时都能更加高效。

另外,微软也提到,如果你之前已经在使用 Chocolatey、Scoop、Ninite、AppGet、Npackd、OneGet 等第三方的 Windows 包管理器也可以继续使用(言下之意,微软不会去封杀),但既然现在有了官方的 WinGet,那么我们还是可以期待它能一统江湖的。

最后,WinGet 其实与 Windows TerminalWSL (Linux 子系统) 以及无比强大的 VSCode 一样,都是让 Windows 系统更加“开发者友好”而做出的努力。它们让 Windows 与 LinuxmacOS 使用上差别越来越小,可以说微软为了留住开发者,真的很拼命了。

相关文件下载地址

官方网站:访问
软件性质:免费开源
相关链接:微软 Office 办公软件  |  微软相关  |  开发工具  |  VSCode

下载 WinGet 包管理器  |  Windows 10  |  Windows Terminal 终端  |  Linux 相关  |  开源

/ 关注 “异次元软件世界” 微信公众号,获取最新软件推送 /

  • 夏季

    感觉现在的微软真是越来越酷了

    2020-05-27 03:31:32
  • 囧小夏

    安装的是应用商店的版本吗?安装的目录是哪里?

    2020-05-27 06:21:30
    • 田村苹果种植者

      我也想知道。毕竟居然能直接安装powertoys,7zip,微信这些东西,来源我还是很好奇的。

      2020-05-27 10:52:50
    • 凌音

      软件开发者提交的啊,审核后才收录的,都是正规来源。

      2020-05-27 10:55:41
    • Clavin

      可以通过 winget show weixin 查看来源

      2020-05-27 17:01:06
  • 啊_疯

    棒!!!!!

    2020-05-27 11:29:41
  • Louie

    安装目录?系统盘划分?用户数据存储?系统重装怎么办?这个只是开始吧

    2020-05-27 11:38:03
  • cirno

    而且现在还不支持卸载。。。

    2020-05-27 12:23:02
  • 贴膜小哥

    感觉很棒 这些收录的软件不会夹带私活 软件更加安全

    2020-05-27 14:00:37
    • Eisk

      应该不会,我已经写了一个一键安装Powertoys,微信,QQ,7zip,Edge和Windows Terminal的脚本

      2020-05-29 12:32:06
  • 鹏爷

    cooool!紫薯布丁

    2020-05-27 14:05:18
  • xin

    这里是目前的 community 的所有支持的软件
    https://github.com/microsoft/winget-pkgs

    2020-05-27 14:32:56
  • Clavin

    抄袭 AppGet,巨硬可耻

    2020-05-27 16:55:52
  • RichardLuo

    怎么指定安装目录。。。

    2020-05-27 20:50:46
    • sky

      同问,软件固然安装的很爽快,但怎么控制安装目录呢?

      2020-05-28 09:45:11
  • 丏谷

    长期scoop用户觉得没啥用,微软近来一直想sherlock其他方便的工具,比如剪贴板历史啊、截图工具啊之类的,可惜都是差些火候,这个很有可能也是如此。

    2020-05-28 17:04:01
  • peach5460

    windows里面用命令行装软件,感觉好别扭啊

    2020-05-29 12:03:56
  • 海天

    不知道这个 环境变量什么的 是不是直接给配置好啊

    2020-05-29 17:38:09
  • meavel

    我在ubuntu时常用snap,apt,appimage来安装东西,有时候要卸载某个程序,竟然忘了是从哪里安装的……有时候装逼伴随着gg。希望winget不会出现类似的烦恼

    2020-05-30 16:58:40
  • Queen

    举双手表示,现在这货有巨大争议!!很大可能是剽窃别人产品得来的,表示不满!!

    2020-05-30 18:28:34
    • gl

      毫无根据的怀疑,简单一个工具还要剽窃?

      2020-05-30 22:30:57
  • meavel

    刚才本来想用winget来安装blender,一直被同名软件困扰,无法顺利安装(一直提示我要安装哪一个版本?)又无法指定特定的版本,最后还需要进浏览器下载blender。之后,尝试用winget安装gimp,也遇上同一个问题。请哪位大侠帮帮我?

    2020-06-22 23:53:04
    • meavel

      又㕛叒叕来到了自问自答的时间。上网找了一天终于有了答案。

      必须使用 -e 参数并且保持大小写匹配。如果大小写匹配但长度不同,可再加上 –id参数。举个例子,
      winget install -e –id valve.steam
      实测能解决GIMP.GIMP安装问题。

      https://allthings.how/fix-winget-multiple-apps-found-refine-input-error/
      以上是资料来源,如果引用会引起冒犯的话,请告知,谢谢。

      2020-06-24 15:08:43
    • meavel

      然后再不厌其烦的唠叨一下。昨天间中有使用过Chocolately,但是……也遇到类似的问题,无法找到源而安装不了GIMP,被迫回来使用winget。

      2020-06-24 15:11:17
    • meavel

      昨天找到解决方法了,用-e 代表大小写匹配,–id代表只寻找id名。实例:

      winget install -e –id “GIMP.GIMP”

      2020-06-24 15:18:57





评论内容 (*必填):
Ctrl + Enter 快速提交   

赞赏异次元


请通过支付宝、微信 APP 扫一扫,海外读者可「使用 PayPal 赞赏

“ 感谢您对异次元网站的支持! ”