了解包管理(以前称为 OneGet)和 Chocolatey 之间的区别,并开始在 Win10 RTM 中使用 OneGet?

了解包管理(以前称为 OneGet)和 Chocolatey 之间的区别,并开始在 Win10 RTM 中使用 OneGet?

我对 Chocolatey 和 OneGet (后来改名为包管理) 感到困惑。

如果使用的是 Windows 10 Pro RTM,是否目前只需安装 chocolatey 并使用它,据称它已经在 powershell 中附带了 OneGet cmdlet?(它们似乎不存在于我的 Windows 10 Pro 机器上)。

首先,实际问题:如何在 Windows 10 中安装和使用包管理(以前称为 OneGet)?在我的计算机上,如果我输入,get-command -Module OneGet则不会得到任何结果。Get-PackageProvider我的计算机上不存在具有当前名称的 cmdlet。但是我读到 OneGet 将成为 Windows 10 RTM 的一部分或随附。我还读到您可以使用添加 one-get cmdlet,Import-Module但我也无法让它工作。

其次,理解问题:OneGet 真的是一个元管理器,可以管理未来多种来源,而 Chocolatey 只是一个存储库来源,还是我理解错了?我读到过,现在情况“不断变化”。情况如何?什么时候会清理干净?

答案1

看起来它已经安装了,并且Import-Module -Name OneGet对于 Win10 rtm,预发布博客文章中说的输入不再正确。

但是,您仍然需要在 Windows 10 专业版中从管理员权限级别的 PowerShell 手动添加这样的包源:

Register-PackageSource -Name chocolatey -Location https://chocolatey.org/api/v2 -Provider PSModule -Trusted -Verbose

您可以这样搜索:

Find-Package paint -provider Chocolatey

以上应该可以找到 Paint.net 的实际 choco 包名称。

然后你可以安装类似这样的东西:

Install-Package paint.net -provider Chocolatey

(例如,安装 Paint.NET)。

在此处输入图片描述

如果找不到Install-packagecmdlet(似乎未安装?),请从常规的非提升权限的 powershell 切换到提升权限的(管理员)powershell。

答案2

我不确定你为什么被否决,但看待 Windows 软件包生态系统当前混乱的一种方式是,OneGet 是 Windows 10(及更高版本)的新且官方认可的(由 MS)软件包管理器。OneGet 在某种程度上“受到”Chocolatey 的启发,以至于它可以使用与 Chocolatey 源相同的存储库/上游提供商。

OneGet 随 Windows 10 RTM 一起发布并包含在 PowerShell 中。它还没有真正“准备好”与第三方软件包一起使用,尽管微软的想法是,在某个时候,微软将(可能?)推出一个第三方存储库/生态系统来取代 Chocolatey,不过现在谁也不知道这是否还会发生。

目前,要使用 OneGet 而不是 Chocolatey(除了不必安装 Chocolatey 之外基本上没有任何好处),您可以将命令行添加-provider Chocolatey到 OneGet 命令中,让它们连接并使用 Chocolatey 提供程序。

相关内容