Install Package - PowerShell


Overview

Install-Package is a versatile PowerShell command that simplifies the installation of NuGet packages for PowerShell modules. It empowers users to swiftly add or update pre-built reusable libraries, tools, and utilities in their PowerShell scripts.

Syntax

Install-Package [-Name] <string[]> [-Source] <string> [-Version] <Version> [-IncludeDependencies] -SkipDependencies] [-Path] <string> [-Force] [-AllowClobber] [-AllowPrerelease] [-OutputFile] <string> [-Preview] [-Parameter] <string[]> [-ThrottleLimit] <int> [-UserAgent] <string> [-Debug] [-ErrorAction] <ActionPreference> [-ErrorVariable] <string> [-OutVariable] <string> [-OutBuffer] <int> [-Verbose] [-WarningAction] <ActionPreference> [-WarningVariable] <string> [-WhatIf]

Options/Flags

  • -Name: Specifies the name of the package to be installed.
  • -Source: Defines the NuGet source from which to install the package.
  • -Version: Specifies the version of the package to be installed.
  • -IncludeDependencies: Indicates whether the command should install dependencies of the specified package.
  • -SkipDependencies: Indicates whether the command should skip installing dependencies of the specified package.
  • -Path: Specifies the installation path for the package.
  • -Force: Overwrites existing files during the installation process.
  • -AllowClobber: Allows existing files to be overwritten during the installation process.
  • -AllowPrerelease: Permits the installation of prerelease versions of packages.
  • -OutputFile: Generates a log file containing detailed information about the installation process.
  • -Preview: Displays a preview of the installation details without actually performing the installation.
  • -Parameter: Specifies additional parameters for the package installation.
  • -ThrottleLimit: Sets the maximum number of concurrent connections to the NuGet source.
  • -UserAgent: Customizes the user agent string used by the command.
  • -Debug: Enables debug mode, generating verbose output for troubleshooting.
  • -ErrorAction: Specifies the action to take in case of an error during the installation.
  • -ErrorVariable: Stores error information in a specified variable.
  • -OutVariable: Assigns the command output to a specified variable.
  • -OutBuffer: Sets the maximum number of items to store in the output buffer.
  • -Verbose: Enables verbose output, displaying detailed progress information.
  • -WarningAction: Specifies the action to take in case of a warning during the installation.
  • -WarningVariable: Stores warning information in a specified variable.
  • -WhatIf: Simulates the installation process without making any changes.

Examples

Simple Installation:

Install-Package PowerShellGet

Installing a Specific Version:

Install-Package PSReadLine -Version 2.1.0

Installing from a Specific Source:

Install-Package MyModule -Source https://myget.org/F/my-feed/

Skipping Dependencies:

Install-Package MyModule -SkipDependencies

Common Issues

  • Package Not Found: Ensure the package name is correct and exists in the specified NuGet source.
  • Missing Administrative Privileges: Administrator privileges are often required for installation.
  • Dependency Resolution Issues: If dependency resolution fails, try updating the NuGet package source.
  • Network Connectivity Problems: Check your internet connection and ensure you can reach the NuGet source.

Integration

Combined with Install-Module: Install-Package can be used to install PowerShell modules that are available as NuGet packages.

Example:

Install-Module -Name SomeModule -RequiredVersion 2.0.0
Install-Package -Name SomeModule.Dependencies