Install-Package
安装一个或多个软件包。
语法
Install-Package
[-Name] <String[]>
[-RequiredVersion <String>]
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-Source <String[]>]
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[-ProviderName <String[]>]
[<CommonParameters>]
Install-Package
[-InputObject] <SoftwareIdentity[]>
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-Package
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[-ConfigFile <String>]
[-SkipValidate]
[-Headers <String[]>]
[-FilterOnTag <String[]>]
[-Contains <String>]
[-AllowPrereleaseVersions]
[-Destination <String>]
[-ExcludeVersion]
[-Scope <String>]
[-SkipDependencies]
[<CommonParameters>]
Install-Package
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[-ConfigFile <String>]
[-SkipValidate]
[-Headers <String[]>]
[-FilterOnTag <String[]>]
[-Contains <String>]
[-AllowPrereleaseVersions]
[-Destination <String>]
[-ExcludeVersion]
[-Scope <String>]
[-SkipDependencies]
[<CommonParameters>]
Install-Package
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[-AllowPrereleaseVersions]
[-Scope <String>]
[-PackageManagementProvider <String>]
[-PublishLocation <String>]
[-ScriptSourceLocation <String>]
[-ScriptPublishLocation <String>]
[-Type <String>]
[-Filter <String>]
[-Tag <String[]>]
[-Includes <String[]>]
[-DscResource <String[]>]
[-RoleCapability <String[]>]
[-Command <String[]>]
[-AcceptLicense]
[-AllowClobber]
[-SkipPublisherCheck]
[-InstallUpdate]
[-NoPathUpdate]
[<CommonParameters>]
Install-Package
[-Credential <PSCredential>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[-AllowPrereleaseVersions]
[-Scope <String>]
[-PackageManagementProvider <String>]
[-PublishLocation <String>]
[-ScriptSourceLocation <String>]
[-ScriptPublishLocation <String>]
[-Type <String>]
[-Filter <String>]
[-Tag <String[]>]
[-Includes <String[]>]
[-DscResource <String[]>]
[-RoleCapability <String[]>]
[-Command <String[]>]
[-AcceptLicense]
[-AllowClobber]
[-SkipPublisherCheck]
[-InstallUpdate]
[-NoPathUpdate]
[<CommonParameters>]
说明
该 Install-Package
cmdlet 在本地计算机上安装一个或多个软件包。 如果你有多个软件源,请使用 Get-PackageProvider
和 Get-PackageSource
显示有关提供商的详细信息。
重要
PackageManagement 模块中包含的命令不同于 Visual Studio 的包管理器控制台中 NuGet 模块提供的命令。 每个模块都有在其他模块中不可用的命令。 具有相同名称的命令在其特定参数中有所不同。 有关详细信息,请参阅 Visual Studio 的包管理器控制台的 PowerShell 参考 文档。
示例
示例 1:按包名称安装包
该 Install-Package
cmdlet 安装软件包及其依赖项。
PS> Install-Package -Name NuGet.Core -Source MyNuGet -Credential Contoso\TestUser
Install-Package
使用参数指定包名称和源。
Credential 参数使用具有安装包权限的域用户帐户。 该命令会提示输入用户帐户密码。
示例 2:使用 Find-Package 安装包
在此示例中,返回 Find-Package
的对象由管道向下发送,并由该 Install-Package
对象安装。
PS> Find-Package -Name NuGet.Core -Source MyNuGet | Install-Package
Find-Package
使用 Name 和 Source 参数查找包。 该对象会向下发送管道,并将 Install-Package
包安装在本地计算机上。
示例 3:通过指定一系列版本来安装包
Install-Package
使用 MinimumVersion 和 MaximumVersion 参数指定一系列软件版本。
PS> Install-Package -Name NuGet.Core -Source MyNuGet -MinimumVersion 2.8.0 -MaximumVersion 2.9.0
Install-Package
使用 Name 和 Source 参数查找包。
MinimumVersion 和 MaximumVersion 参数指定一系列软件版本。 安装范围中的最高版本。
参数
-AcceptLicense
AcceptLicense 在安装过程中自动接受许可协议。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AllowClobber
重写有关与现有命令冲突的警告消息。 覆盖与所安装的命令同名的现有命令。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AllowPrereleaseVersions
允许安装标记为预发行的包。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AllVersions
Install-Package
安装包的所有可用版本。 默认情况下,仅安装最新版本。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Command
指定搜索的 Install-Package
一个或多个命令。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ConfigFile
指定包含配置文件的路径。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Contains
Install-Package
如果 Contains 参数指定与任何对象的属性值匹配的值,则获取对象。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定有权访问计算机并运行命令的用户帐户。 键入用户名,例如 User01、Domain01\User01 或输入 cmdlet 生成的 Get-Credential
PSCredential 对象。 如果键入用户名,系统会提示输入密码。
如果未指定 Credential 参数, Install-Package
请使用当前用户。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Destination
指定输入对象的路径。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DscResource
指定搜索的 Install-Package
一个或多个 Desired State Configuration (DSC) 资源。 使用 Find-DscResource
cmdlet 查找 DSC 资源。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ExcludeVersion
切换到排除文件夹路径中的版本号。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Filter
指定要在 Name 和 Description 属性中搜索的术语。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FilterOnTag
指定筛选结果并排除不包含指定标记的结果的标记。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Force
强制命令运行而不要求用户确认。 替代阻止 Install-Package
成功的限制,但安全性除外。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ForceBootstrap
强制 PackageManagement 为指定的包自动安装包提供程序。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Headers
指定包标头。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Includes
指定是否 Install-Package
应查找所有包类型。 此参数的可接受值如下所示:
- Cmdlet
- DscResource
- 功能
- RoleCapability
- 工作流程
类型: | String[] |
接受的值: | Cmdlet, DscResource, Function, RoleCapability, Workflow |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
接受管道输入。 使用包的 SoftwareIdentity 类型指定包。
Find-Package
输出 SoftwareIdentity 对象。
类型: | Microsoft.PackageManagement.Packaging.SoftwareIdentity[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-InstallUpdate
指示 Install-Package
安装更新。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MaximumVersion
指定要安装的最大允许包版本。 如果未指定此参数, Install-Package
请安装包的最新版本。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MinimumVersion
指定要安装的最小允许的包版本。 如果未添加此参数, Install-Package
请安装包的最新版本,该版本满足 MaximumVersion 参数指定的任何版本。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Name
指定一个或多个包名称。 多个包名称必须用逗号分隔。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-NoPathUpdate
NoPathUpdate 仅适用于 Install-Script
cmdlet。
NoPathUpdate 是由提供程序添加的动态参数,不受提供程序支持 Install-Package
。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PackageManagementProvider
指定 PackageManagement 提供程序的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ProviderName
指定要将包搜索范围限定为的一个或多个包提供程序名称。 可以通过运行 Get-PackageProvider
cmdlet 来获取包提供程序名称。
类型: | String[] |
别名: | Provider |
接受的值: | Bootstrap, NuGet, PowerShellGet |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Proxy
指定请求的代理服务器,而不是直接连接到 Internet 资源。
类型: | Uri |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ProxyCredential
指定有权使用由 Proxy 参数指定的代理服务器的用户帐户。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PublishLocation
指定包的已发布位置的路径。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RequiredVersion
指定要安装的包的确切允许版本。 如果未添加此参数, Install-Package
请安装包的最新版本,该版本满足 MaximumVersion 参数指定的任何版本。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RoleCapability
指定角色功能的数组。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Scope
指定要为其安装包的范围。 此参数的可接受值如下所示:
- 当前用户
- AllUsers
类型: | String |
接受的值: | CurrentUser, AllUsers |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ScriptPublishLocation
指定脚本的已发布位置的路径。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ScriptSourceLocation
指定脚本源位置。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SkipDependencies
跳过软件依赖项的安装。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SkipPublisherCheck
允许获取比已安装版本更新的包版本。 例如,由受信任的发布者数字签名但新版本未进行数字签名的已安装包。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SkipValidate
跳过验证包凭据的开关。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Source
指定一个或多个包源。 多个包源名称必须用逗号分隔。
可以通过运行 Get-PackageSource
cmdlet 来获取包源名称。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Tag
指定要在包元数据中搜索的一个或多个字符串。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Type
指定是使用模块、脚本还是同时搜索包。 此参数的可接受值如下所示:
- 模块
- 脚本
- 全部
类型: | String |
接受的值: | Module, Script, All |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行 cmdlet 会发生什么 Install-Package
情况。 命令脚本未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
Microsoft.PackageManagement.Packaging.SoftwareIdentity
可以通过管道将 SoftwareIdentity 对象传递给此 cmdlet。
输出
Microsoft.PackageManagement.Packaging.SoftwareIdentity
此 cmdlet 为安装的每个包返回 SoftwareIdentity 对象。
备注
在命令中包含包提供程序可以使动态参数可用于 cmdlet。 动态参数特定于包提供程序。 该 Get-Help
cmdlet 列出 cmdlet 的参数集,并包括提供程序的参数集。 例如,Install-Package
具有 PowerShellGet 参数集,其中包括-NoPathUpdate
和 AllowClobber
SkipPublisherCheck
。
重要
截至 2020 年 4 月,PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 如果未使用 TLS 1.2 或更高版本,则尝试访问 PowerShell 库时会收到错误。 使用以下命令确保使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
有关详细信息,请参阅 PowerShell 博客中的 公告。