我对 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-package
cmdlet(似乎未安装?),请从常规的非提升权限的 powershell 切换到提升权限的(管理员)powershell。
答案2
我不确定你为什么被否决,但看待 Windows 软件包生态系统当前混乱的一种方式是,OneGet 是 Windows 10(及更高版本)的新且官方认可的(由 MS)软件包管理器。OneGet 在某种程度上“受到”Chocolatey 的启发,以至于它可以使用与 Chocolatey 源相同的存储库/上游提供商。
OneGet 随 Windows 10 RTM 一起发布并包含在 PowerShell 中。它还没有真正“准备好”与第三方软件包一起使用,尽管微软的想法是,在某个时候,微软将(可能?)推出一个第三方存储库/生态系统来取代 Chocolatey,不过现在谁也不知道这是否还会发生。
目前,要使用 OneGet 而不是 Chocolatey(除了不必安装 Chocolatey 之外基本上没有任何好处),您可以将命令行添加-provider Chocolatey
到 OneGet 命令中,让它们连接并使用 Chocolatey 提供程序。