如何在Windows 10上使用PackageManagement(也称为OneGet

Windows 10在PowerShell中内置了软件包管理工具。在最终版本中,它被命名为“PackageManagement”,但它仍然基于一个名为OneGet的开源项目。

PackageManagement(又名OneGet)从技术上讲不是包管理器。它是一个包管理器管理器-一个框架和一组PowerShell cmdlet,可以以标准化的方式从不同的地方管理不同类型的软件。

什么是PackageManagement/OneGet?

我们之前已经爆出了关于OneGet的故事,并试图澄清它到底是什么。如果这对你来说还不够信息,开发者加勒特·塞拉克(Garret Serack)还在Twitter上写了一篇内容丰富的帖子,题为“关于OneGet的10件事与你想象的不同。”

从本质上讲,PackageManagement(基于名为OneGet的开源项目)集成到PowerShell中,从而集成到Windows 10中。它的目标是将各种不同的软件包管理技术和软件安装框架集成到单个API以及一组用于管理软件的标准PowerShell cmdlet中。

至少在最初的状态下,这不是一个为普通Windows10用户甚至极客设计的工具。微软实际上并没有托管任何“OneGet存储库”--事实上,根本没有这种东西。OneGet可以与提供商一起使用,以启用对软件存储库的访问,然后可以使用标准化的cmdlet对其进行管理。这是为系统管理员设计的。对于熟悉命令行的极客来说,OneGet曾经向他们提供了一个巧克力提供商,用于安装托管在巧克力中的桌面应用程序。然而,OneGet并不是只为巧克力设计的--OneGet的最初版本有一个巧克力提供者作为概念验证,但现在这个功能已经被删除了。

您也可以在其他版本的Windows上安装和使用此工具,因为它是Windows管理框架(WMF)5.0的一部分。

相关:Windows10包含一个名为“OneGet”的Linux风格的包管理器

如何使用PackageManagement/OneGet

PackageManagement是PowerShell的一组cmdlet,因此您需要打开Windows PowerShell应用程序才能使用它。运行以下命令以查看可用cmdlet的列表:

(请注意,Get-Command-Module OneGet将不起作用,因为它已重命名为PackageManagement。)

在Windows10的最终发布版本中,PackageManagement还没有太多功能。这个特性最有趣的地方是它与巧克力的集成,在引入它时,它可以很容易地从单一来源安装Windows程序。不过,没有PackageManagement/OneGet的帮助,巧克力仍然可以在Windows10上使用。

Get-PackageProvider和Get-PackageSource cmdlet将显示哪些包提供程序和源可用。您可以使用Register-PackageSource安装包源。此cmdlet需要源的URL地址,因此您需要确切知道要添加的内容以及添加它的位置。

例如,当社区开发了巧克力提供程序时,您可以使用此cmdlet将其添加到您的系统中。Unregister-PackageSource cmdlet可以删除此类包源。

如果需要使用PackageManagement从某处安装软件,则需要使用上面的Register-PackageSource cmdlet来确保源已在PackageManagement中注册。完成后,您可以使用以下cmdlet搜索、安装和卸载可用的软件包。

Find-Package cmdlet将允许您搜索已配置的包源,而Install-Package cmdlet将允许您安装它。Uninstall-Package cmdlet将卸载您通过以下cmdlet安装的软件包:

这是一种简单、标准化的方式,可以安装来自不同来源、以不同形式打包的不同类型的软件。随着Windows 10和PackageManagement的推出,我们可能会看到更多与各种不同潜在软件来源的集成,从快速设置服务器到在设置新PC时自动安装软件,无所不包。

有关更多详细信息,请参阅Microsoft有关PackageManagement cmdlet的官方文档。

不管它在开发过程中看起来是什么样子,微软没有对Windows 10采用软件包管理。微软没有托管他们自己的软件库,巧克力也没有被集成到Windows 10的最终版本中。甚至Windows商店和它的应用程序都不能从PackageManagement访问。

这只是为系统管理员设计的又一套工具。我们必须看看它是如何演变的,并随着时间的推移而增长。

相关文章