包管理器 winget 使用指南
winget 是 windows 10 平台的一个包管理工具,能够在终端通过简单的命令行实现软件的安装、更新、卸载等,与之类似的有 Scoop 和 Chocolatey. 由于 winget 是官方支持,因此安全性、兼容性方面都有保障. 若你和我一样是一个 「更新狂」, 那么你以后更新软件将十分惬意,没有必要去进行一系列繁杂的下载安装 … , 只需打开终端输入简单的命令即可 . 🍨
安装 winget
winget是一个安装包管理器,可在Windows 10 计算机上使用 winget 命令行工具来检索、安装、升级、删除和配置应用程序. 此工具是 Windows 程序包管理器服务的客户端接口.
可使用多种方法安装 winget 工具:
应用商店
在 Microsoft Store 安装的话会比较简单,因此很推荐 . 在应用商店搜索
应用安装程序
,如下图所示,第一个就是,点进去安装即可.
github下载安装
在 Github Release下载
.appxbundle
格式的文件,双击打开并运行安装即可.
microsoft/winget-cli: Windows Package Manager CLI (aka winget) 有英文介绍, 使用 winget 工具安装和管理应用程序 | Microsoft Docs 里面有详细的中文介绍 .
备注
winget 工具需要 Windows 10 版本 1709 (10.0.16299) 或更高版本的 Windows 10.
使用方式
命令一览
winget 工具的当前预览版支持以下类型的安装程序:
- EXE
- MSIX
- MSI
目前winget支持以下的命令 , 可以在 cmd 或者 powershell 输入 winget ,就能查看所有支持的命令.
1 | The following commands are available: |
我们常用的也就几个,搜索、安装、卸载、升级,下面将会演示每一个的用法.
安装
安装 应用安装程序 后,可以通过在命令提示符下键入“winget”来运行 winget.
最常见的使用场景之一是搜索并安装你最喜欢的工具.
- 若要搜索某个工具,请键入
winget search <appname>
. - 确认你需要的工具可用后,可以通过键入
winget install <appname>
来安装该工具. winget 工具会启动安装程序,将应用程序安装在你的电脑上.
比如, 搜索 winget search music
会出现很多结果,其中有应用的名称、ID、版本以及Tag ,然后找到你想要安装的应用 ,比如我当前想要安装 Musescore
, 那么只需输入 winget install Musescore.Musescore
或 winget install Musescore
就行了,更推荐前一种,因为前一种包含 ID ,这是独一无二的不会造成错误 .
当然如果你很明确你需要的应用,并且你知道它的名称,那么你就不需要去搜索了,你直接就安装就行了,不需要去搜索了,不过一般都需要去搜一下保证名称的正确性 .
接下来输入 winget install Musescore.Musescore
进行安装 .
有一些软件安装时会弹窗出来申请权限,点击是就行啦 ,如下图所示就是安装成功了.
更改安装路径 !!!
默认的安装路径是在C盘里面,当然安装路径是可以更改的,使用 -l
来指定路径,l
代表 location
的意思.
比如:
1 | winget install EliasFotinis.DeskPins -l "D:\20200213\Tools\DeskPins" |
就指定了安装路径为 D:\20200213\Tools\DeskPins
==若需要指定安装路径,则千万切记一定要指定一个空的文件夹作为路径,否则卸载的话会把该路径下的东西全部都给删除了. 不要问我为什么知道==
卸载
卸载的话与安装类似 ,把 winget install
换成 winget uninstall
一般卸载前 我会使用 winget list
罗列出来已安装的所有应用,然后找到想要卸载的应用的名字,然后再卸载 . 因为有时候名字变了, 输入 winget uninstall 'MuseScore 3'
或 winget uninstall "MuseScore 3"
为什么有引号呢?
因为应用的名字中有空格,因此需要用
‘ ’
或者“ ”
括起来
当前另一种方法卸载就是, 打开 geek uninstaller , 手动卸载也可 ,哈哈哈
geek uninstaller 是一款很好用的卸载工具,免费版的就足够用了
不妨一试
更新
一般我都会隔几个月统一更新应用,首先我会在终端输入命令 winget list
来获取到现在 的应用列表. 然后在应用列表当中会显示已可更新的应用. 然后我们再更新这些可以更新的应用即可
输入 winget list
后普通不可更新的应用只有三列,可以更新的应用会有四列,第四列是它的最新版本号,表示这个应用有了更新,因此我们只需要更新这个应用即可 . 下面以 YesPlayMusic 为例 ,因为它可更新了.
输入: winget upgrade qier222.yesplaymusic
就行啦
然后会打印这样的信息,就表示更新成功.
1 | 已找到 YesPlayMusic [qier222.yesplaymusic] |
导出与导入
导出功能的话,我觉得还是很实用的. 比如说有时候我们重装系统或者想要将一台计算机当中的应用迁移到另外一台计算机当中. 那我们就可以先导出,然后再导入,再进行安装,十分的便利 .
导出命令为: winget export "E:/app.json"
后面的路径及文件名自己定义就行.
对于不支持导出的应用的会报: 无法从任何源获得已安装的程序包 ,其余的都导出到指定的文件里面了.
1 | 无法从任何源获得已安装的程序包: Bluetooth Audio Receiver |
就我体验而言,我觉得它的导出不太好用,因为很多很多的应用都无法导出.
导入的话与导出类似,也是输入命令行并指定文件路径即可
winget import "E:/app.json"
设置winget
winget settings 打开 winget 的设置 json 文件进行配置,有需求的话可以在官方 winget-cli/Settings.md at master · microsoft/winget-cli (github.com) 这里看看怎么配置 .
如果想要更改 winget 显示的进度条视觉效果,可以 输入 winget settings 后在setting.json
里增加:
1 | "visual": { |
完整的json为
1 | { |
这样子进度条就会变成彩虹色了,若没有更改设置json下的这个配置,也可以在安装的命令后面加上命令 –rainbow 来启用彩虹进度条. 比如 : winget install Musescore.Musescore --rainbow
更改json后就不需要手动加 –rainbow 了.
其它
还有这个其他的命令不太常用,因此我也就不演示了.
比如: winget show calibre
可以显示应用的一些相关描述,还有下载链接的
1 | winget show calibre |
所有支持的命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 The following commands are available:
install Installs the given package
show Shows information about a package
source Manage sources of packages
search Find and show basic info of packages
list Display installed packages
upgrade Upgrades the given package
uninstall Uninstalls the given package
hash Helper to hash installer files
validate Validates a manifest file
settings Open settings
features Shows the status of experimental features
export Exports a list of the installed packages
import Installs all the packages in a file
参考文献
使用 winget 工具安装和管理应用程序 | Microsoft Docs
winget-cli/doc at master · microsoft/winget-cli (github.com)
这或许是 Windows 上最好的包管理工具:Windows Package Manager 1.0 - 少数派 (sspai.com)
Add option to specify winget install directory · Issue #201 · microsoft/winget-cli (github.com)
叶上初阳干宿雨、水面清圆,一一风荷举.
– 周邦彦 《苏幕遮·燎沉香》