Table of Contents
Windows PowerShell 5.1
PS C:\> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.22621.1778
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.22621.1778
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
When trying to fix PowerShellGet lack of AllowPrerelease Windows actually blocked me from updating PowerShellGet which we knew is the reason why it fails in first place.
PS C:\> Update-Module PowerShellGet -Force
Update-Module : Module 'PowerShellGet' was not installed by using Install-Module, so it cannot be updated.
At line:1 char:1
+ Update-Module PowerShellGet -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (PowerShellGet:String) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : ModuleNotInstalledUsingInstallModuleCmdlet,Update-Module
The root of the problem is Windows PowerShell 5.1 comes with PowerShellGet version 1.0.0.1, which doesn’t include the NuGet provider. The provider is required by PowerShellGet when working with the PowerShell Gallery.
PS C:\> Get-Module -Name PowerShellGet
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0.0.1 PowerShellGet {Find-Command, Find-RoleCapability...}
Update PowerShellGet module
To solve it, you need to install newest version from PowerShell Gallery using below command:
Install-Module PowerShellGet -Force
Update PowerShellGet manually
In some cases, if the command Install-Module PowerShellGet -Force doesn’t work. You must remove the PowerShellGet modules manually.
Import-Module PowershellGet
Navigate to the folder C:\Program Files\WindowsPowerShell\Modules\PowershellGet and delete the subfolder 1.0.0.1.
Navigate to the folder C:\Program Files (x86)\WindowsPowerShell\Modules\PowershellGet and delete the subfolder 1.0.0.1.
Now run Install-Module PowerShellGet -Force to install PowerShellGet module.
Install-Module PowerShellGet -Force
Check the installation Get-Command Install-Module.
PS C:\WINDOWS\system32> Get-Command Install-Module
CommandType Name Version Source
----------- ---- ------- ------
Function Install-Module 2.2.5 PowerShellGet
Not a reader? Watch this related video tutorial: