about_PackageManagement

简短说明

PackageManagement 是软件包管理器的聚合器。

长说明

Windows PowerShell 5.0 中引入了 PackageManagement 功能。

PackageManagement 是软件包管理系统的统一接口;可以运行 PackageManagement cmdlet 来执行软件发现、安装和清点 (SDII) 任务。 无论底层安装技术是什么,你都可以运行 PackageManagement 模块中的常用 cmdlet 来搜索、安装或卸载包,添加、删除和查询包存储库,并在计算机上运行查询以确定安装了哪些软件包。

PackageManagement 支持灵活插件模型,因此可以支持其他软件包管理系统。

PackageManagement 模块包含在 Windows PowerShell 5.0 及更高版本的 PowerShell 中,适用于三个级别的包管理结构:包提供程序、包源和包本身。 让我们定义一些术语:

  • 包管理器:软件包管理系统。 在 PackageManagement 术语中,这是指包提供程序。
  • 包提供程序:包管理器的 PackageManagement 术语。 示例包括 Windows Installer、Chocolatey 等。
  • 包源:将包提供程序配置为用作存储库的 URL、本地文件夹或网络共享文件夹。
  • 包:包提供程序管理的软件片段,存储在特定的包源中。

PackageManagement 模块包含以下 cmdlet。 有关详细信息,请参阅 PackageManagement 帮助。

  • Get-PackageProvider:返回连接到 PackageManagement 的包提供程序的列表。
  • Get-PackageSource:获取已注册包提供程序的包源列表。
  • Register-PackageSource:为指定的包提供程序添加包源。
  • Set-PackageSource:设置现有包源的属性。
  • Unregister-PackageSource:删除已注册的包源。
  • Get-Package:返回已安装的软件包列表。
  • Find-Package:在可用包源中查找软件包。
  • Install-Package:安装一个或多个软件包。
  • Save-Package:将包保存到本地计算机,但不安装它们。
  • Uninstall-Package:卸载一个或多个软件包。

包提供程序启动和动态 Cmdlet 参数

默认情况下,PackageManagement 附带核心启动提供程序。 可以通过启动提供程序来根据需要安装其他包提供程序;也就是说,根据提示从 Web 服务自动安装提供程序。 可以使用任何 PackageManagement cmdlet 指定包提供程序;如果指定的提供程序不可用,PackageManagement 会提示你启动(或自动安装)提供程序。 在以下示例中,如果尚未安装 Chocolatey 提供程序,则 PackageManagement 启动会安装该提供程序。

Find-Package -Provider Chocolatey <PackageName>

如果尚未安装 Chocolatey 提供程序,则运行上述命令时,系统会提示你安装它。

Install-Package <Chocolatey package Name> -ForceBootstrap

如果尚未安装 Chocolatey 提供程序,则运行上述命令时,会安装该提供程序;但由于 ForceBootstrap 参数已添加到命令中,因此系统不会提示你安装它;将自动安装提供程序和包。

尝试安装包时,如果尚未安装支持提供程序,并且未将 ForceBootstrap 参数添加到命令,则 PackageManagement 会提示你安装该提供程序。

在 PackageManagement 命令中指定包提供程序能使动态参数特定于该包提供程序。 针对特定的 PackageManagement cmdlet 运行 Get-Help 时,将返回参数集列表,并将可用包提供程序的动态参数分组到单独的参数集中。

有关 PackageManagement 项目的详细信息

有关 PackageManagement 开放开发项目的详细信息,包括如何创建 PackageManagement 包提供程序,请参阅 GitHub 上的 PackageManagement 项目,网址为 https://oneget.org

另请参阅