新的winget和Microsoft.PackageManagement有什么关系

问题描述 投票:0回答:2

几年前,有一个名为 PackageManagement(又名 OneGet)的 Microsoft 包管理器,它似乎基于 PowerShell 命令约定,并且是可扩展的。

最近,微软推出了另一个名为 winget 的包管理器工具,该工具仍被视为预发布版本。似乎没有使用PowerShell约定。

这两者有什么关系?

WinGet 会取代 OneGet,还是会有某种互操作性?

oneget winget
2个回答
6
投票

除了两者都是由 Microsoft 创建的之外,没有任何关系,显然是由不同的团队在不同的时间创建的。

PackageManagement(以前称为 OneGet,预计于 2014 年)是一个没有自己的存储库的统一管理器。它依赖于其他提供程序(例如 ChocolateyGet、PowerShellGet)。由于都是 PowerShell,因此它提供了良好的 CLI 和脚本编写体验。

WinGet 仍处于预览状态(截至 2021 年 8 月)。它将成为通过 Microsoft Store 分发的App Installer 应用程序的一部分。 WinGet 有一个软件包存储库维护在 GitHub 上。客户端被编写为本机 C++ 控制台应用程序。所有输出都是纯文本的,缺乏 PowerShell 给我们带来的所有好处。

Winget 有第三方 OneGet 提供商,并且用户也强烈要求添加官方 PowerShell 支持。请参阅以下 GitHub 问题:

WinGet 定期发布,因此希望 WinGet 能够改进并添加官方 PowerShell 支持。


0
投票

Microsoft WinGet

Microsoft.PackageManagement
都是命令行工具,与Windows操作系统中的软件包管理相关,但它们的用途不同:

  • Microsoft WinGet是一个包管理器,为多个包管理器提供统一的接口。它用于简化软件的安装、更新和删除 Windows 系统上的软件包/应用程序。它旨在提供一个 管理应用程序的一致和简化的体验 各种来源,包括 Winget 清单、Microsoft Store、 Scoop、Pip、NPM、Chocolatey、DotNet 和第三方存储库。
    (这个工具还有一个不错的 GUI,称为 WinGetGUI

  • Microsoft.PackageManagement,是一个框架和一组提供统一接口的PowerShell cmdlet 用于跨不同包管理器管理软件包。它 是 PowerShell 生态系统的一部分,允许用户安装, 使用一组通用命令更新和删除软件包, 无论使用的底层包管理器如何。

请注意,cmdlet 是一堆 PowerShell 命令,而不是独立的可执行文件。

© www.soinside.com 2019 - 2024. All rights reserved.