PowerShellGet is the package manager for PowerShell
This version of PowerShellGet is currently under development and is not feature complete.
As a result, we are currently not accepting PRs to this repository.
Please open an issue for any feature requests, bug reports, or questions for PowerShellGet version 3.0 (currently available as a preview release).
Please note, the repository for previous versions of PowerShellGet has a new location at PowerShell/PowerShellGetv2.
PowerShellGet is a PowerShell module with commands for discovering, installing, updating and publishing the PowerShell artifacts like Modules, DSC Resources, Role Capabilities and Scripts.
PowerShellGet module is also integrated with the PackageManagement module as a provider, users can also use the PackageManagement cmdlets for discovering, installing and updating the PowerShell artifacts like Modules and Scripts.
Documentation for PowerShellGet 3.0 has not yet been published, please Click here to reference the documentation for previous versions of PowerShellGet.
Please refer to our documentation for the up-to-date version on how to get the PowerShellGet Module.
Obtain the source
powershell git clone https://github.com/PowerShell/PowerShellGet
Navigate to the local repository directory
PS C:\> cd c:\Repos\PowerShellGet PS C:\Repos\PowerShellGet>
if ((Get-Module -Name PSPackageProject -ListAvailable).Count -eq 0) { Install-Module -Name PSPackageProject -Repository PSGallery }
# Build for the netstandard2.0 framework PS C:\Repos\PowerShellGet> .\build.ps1 -Clean -Build -BuildConfiguration Debug -BuildFramework netstandard2.0Build for the net472 framework
PS C:\Repos\PowerShellGet> .\build.ps1 -Build -BuildConfiguration Debug -BuildFramework net472
PS C:\Repos\PowerShellGet> .\build.ps1 -Publish
PS C:\Repos\PowerShellGet> Invoke-PSPackageProjectTest -Type Functional
# If running PowerShell 6+ C:\> Import-Module C:\Repos\PowerShellGet\out\PowerShellGetIf running Windows PowerShell
C:> Import-Module C:\Repos\PowerShellGet\out\PowerShellGet\PowerShellGet.psd1
Note
PowerShellGet consists of .NET binaries and so can be imported into a PowerShell session only once.
Since the PSPackageProject module, used to build the module, has a dependency on earlier versions of PowerShellGet, the newly built module cannot be imported into that session.
The new module can only be imported into a new session that has no prior imported PowerShellGet module.