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。