winget source 命令
winget 工具 source 命令可让你管理 Windows 程序包管理器的源。 使用 source 命令,可以添加、列出、更新、删除、重置或导出存储库。
源存储库提供用于发现和安装应用程序的数据。 仅使用安全、受信任的源位置。
Windows 程序包管理器指定以下两个默认存储库,你可使用 winget source list
列出这些存储库。
- msstore - Microsoft Store 目录。
- winget - Windows 程序包管理器应用存储库。
用法
winget source <subcommand> <options>
参数
可使用以下参数。
参数 | 说明 |
---|---|
-?、--help | 获取有关此命令的更多帮助。 |
下图显示 source 命令的 help 参数:
选项
可以使用以下选项。
选项 | 说明 |
---|---|
-?、--help | 显示有关所选命令的帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
子命令
source 命令支持以下子命令。
子命令 | 说明 |
---|---|
add | 添加一个新源。 |
list | 枚举已启用源的列表。 |
update | 更新源。 |
删除 | 删除源。 |
reset | 将 winget 和 msstore 重置回初始配置。 |
export | 导出当前源。 |
添加
add 子命令用于添加新源。 此子命令需要 --name 和 --arg 选项。 由于该命令会更改用户访问权限,因此使用 add 需要管理员权限。
用法:
winget source add [-n] <name> [-a] <arg> [[-t] <type>] [<options>]
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
-a、--arg | 源的 URL 或 UNC。 |
-t, --type | 源的类型。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
--trust-level | 源的信任级别(无或受信任)。 |
--header | 可选 Windows-Package-Manager REST 源 HTTP 标头。 |
--accept-source-agreements | 用于接受源许可协议,并避免出现提示。 |
--explicit | |
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
例如,winget source add --name Contoso https://www.contoso.com/cache
在 URL https://www.contoso.com/cache
处添加 Contoso 存储库。
可选类型参数
add 子命令支持可选的 type 参数,该参数用于告知客户端将要连接到的存储库类型。 支持以下类型。
类型 | 说明 |
---|---|
Microsoft.PreIndexed.Package | 默认源类型。 |
list
list 子命令枚举当前启用的来源,或提供有关特定源的详细信息。
用法:
winget source list [[-n] <name>] [<options>]
别名
以下别名可用于此子命令:
- ls
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
全部列出
list 子命令本身 winget source list
提供受支持的源的完整列表:
Name Arg
-----------------------------------------
winget https://winget.azureedge.net/cache
列出源详细信息
要获取有关源的完整详细信息,请传入源的名称。 例如:
winget source list --name Contoso
返回以下输出:
Name : Contoso
Type : Microsoft.PreIndexed.Package
Arg : https://pkgmgr-int.azureedge.net/cache
Data : AppInstallerSQLiteIndex-int_g4ype1skzj3jy
Updated: 2020-4-14 17:45:32.000
Name
是源的名称。Type
是存储库的类型。Arg
是源使用的 URL 或路径。Data
是可选的包名称(如果适用)。Updated
是上次更新源的日期和时间。
update
update 子命令用于强制更新单个源或所有源。
用法:
winget source update [[-n] <name>] [<options>]
别名
以下别名可用于此子命令:
- 刷新
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
全部更新
update 子命令本身 winget source update
请求对所有存储库进行更新。
更新源
带有 --name 选项的 update 子命令用于将更新定向到指定的源。 例如:winget source update --name Contoso
强制更新 Contoso 存储库。
删除
remove 子命令用于删除源。 此子命令需要 --name 选项才能标识源。 由于该命令会更改用户访问权限,因此使用 remove 需要管理员权限。
用法:
winget source remove [-n] <name> [<options>]
别名
以下别名可用于此子命令:
- rm
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
示例
winget source remove --name Contoso
此命令将移除 Contoso 存储库。
reset
reset 子命令用于将客户端重置为其原始配置,并删除除默认源之外的所有源。 仅在极少数情况下才会使用此子命令。 由于该命令会更改用户访问权限,因此使用 reset 需要管理员权限。
由于 reset 命令会删除所有源,因此必须使用 --force 选项强制执行该操作。
用法:
winget source reset [[-n] <name>] [<options>]
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
--force | 强制重置源。 |
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
导出
export 子命令用于将源的特定详细信息导出到 JSON 输出。
用法:
winget source export [[-n] <name>] [<options>]
参数
可使用以下参数。
参数 | 说明 |
---|---|
-n、--name | 用于标识源的名称。 |
选项
可以使用以下选项。
选项 | 说明 |
---|---|
-?、--help | 获取有关此命令的更多帮助。 |
--wait | 提示用户在退出前按任意键。 |
--logs,--open-logs | 打开默认日志位置。 |
--verbose, --verbose-logs | 用于替代日志记录设置并创建详细日志。 |
--nowarn,--ignore-warnings | 禁止警告输出。 |
--disable-interactivity | 禁用交互式提示。 |
--proxy | 设置要用于此执行的代理。 |
--no-proxy | 禁用此执行使用代理。 |
示例
winget source export winget
返回以下输出:
{"Arg":"https://winget.azureedge.net/cache","Data":"Microsoft.Winget.Source_8wekyb3d8bbwe","Identifier":"Microsoft.Winget.Source_8wekyb3d8bbwe","Name":"winget","Type":"Microsoft.PreIndexed.Package"}
源协议
单个源可能会要求用户在添加或使用存储库之前同意提供的条款。 如果用户不接受或不承认该协议,他们将无法访问源。
可使用 --accept-source-agreements 选项来接受源许可协议,并避免出现提示。