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.
OS - PS Version | Build Status |
---|---|
AppVeyor (Windows - PS 4.0) | |
AppVeyor (Windows - PS 5.1) | |
AppVeyor (Windows - PS 6.0.0-Alpha) | |
Travis CI (Linux - PS 6.0.0-Alpha) | |
Travis CI (MacOS - PS 6.0.0-Alpha) |
OS - PS Version | Build Status |
---|---|
AppVeyor (Windows - PS 4.0) | |
AppVeyor (Windows - PS 5.1) | |
AppVeyor (Windows - PS 6.0.0-Alpha) | |
Travis CI (Linux - PS 6.0.0-Alpha) | |
Travis CI (MacOS - PS 6.0.0-Alpha) |
OS - PS Version | Build Status |
---|---|
AppVeyor (Windows - PS 4.0) | |
AppVeyor (Windows - PS 5.1) | |
AppVeyor (Windows - PS 6.0.0-Alpha) | |
Travis CI (Linux - PS 6.0.0-Alpha) | |
Travis CI (MacOS - PS 6.0.0-Alpha) |
- Windows PowerShell 3.0 or newer.
- PowerShell Core.
- PackageManagement module
- Windows 10 or newer
- Windows Server 2016 or newer
- Windows Management Framework (WMF) 5.0 or newer
- PowerShell 6.0.0-Alpha
- Before updating PowerShellGet, you should always install the latest Nuget provider. To do that, run the following in an elevated PowerShell session.
Install-PackageProvider Nuget –Force
Exit
- To do this on Windows 10, Windows Server 2016, or any system with WMF 5.0 or 5.1 installed, run the following commands from an elevated PowerShell session.
Install-Module –Name PowerShellGet –Force
Exit
- Use Update-Module to get the next updated versions.
Update-Module -Name PowerShellGet
Exit
For systems running PowerShell 3 or PowerShell 4, that have installed the PackageManagement MSI
- Use below PowerShellGet cmdlet to save the modules to a local directory
Save-Module PowerShellGet -Path C:\LocalFolder
Exit
- Re-open the PS Console then run the following commands
Copy-Item "C:\LocalFolder\PowerShellGet\*" "$env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\" -Recurse -Force
Copy-Item "C:\LocalFolder\PackageManagement\*" "$env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\" -Recurse -Force
- Obtain the source
- Download the latest source code from the release page (https://github.com/PowerShell/PowerShellGet/releases) OR
- Clone the repository (needs git)
git clone https://github.com/PowerShell/PowerShellGet
- Navigate to the source directory
cd path/to/PowerShellGet
- Import the module
Import-Module /path/to/PowerShellGet/PowerShellGet
Pester-based PowerShellGet Tests are located in <branch>/PowerShellGet/Tests
folder.
Run following commands in PowerShell Console with Administrator privileges.
Import-Module "$ClonePath\tools\build.psm1"
Install-Dependencies
Invoke-PowerShellGetTest
You are welcome to contribute to this project. There are many ways to contribute:
- Submit a bug report via Issues. For a guide to submitting good bug reports, please read Painless Bug Tracking.
- Read the documentation on contributing to open source and forking.
- Verify fixes for bugs.
- Submit your fixes for a bug. Before submitting, please make sure you have:
- Performed code reviews of your own
- Updated the test cases if needed
- Run the test cases to ensure no feature breaks or test breaks
- Added the test cases for new code
- Submit a feature request.
- Help answer questions in the discussions list.
- Submit test cases.
- Tell others about the project.
- Tell the developers how much you appreciate the product!
You might also read these two blog posts about contributing code: Open Source Contribution Etiquette by Miguel de Icaza, and Don’t “Push” Your Pull Requests by Ilya Grigorik.
Before submitting a feature or substantial code contribution, please discuss it with the Windows PowerShell team via Issues, and ensure it follows the product roadmap. Note that all code submissions will be rigorously reviewed by the Windows PowerShell Team. Only those that meet a high bar for both quality and roadmap fit will be merged into the source.