Fix Module PowerShellGet was not Installed by Using Install-Module, so it cannot be Updated

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.

Note

You must open Windows PowerShell then run this command Import-Module PowerSehllGet before detele the module folders

Import-Module PowershellGet

Navigate to the folder C:Program FilesWindowsPowerShellModulesPowershellGet and delete the subfolder 1.0.0.1.

Fix Module PowerShellGet was not Installed by Using Install-Module, so it cannot be Updated

Navigate to the folder C:Program Files (x86)WindowsPowerShellModulesPowershellGet and delete the subfolder 1.0.0.1.

Fix Module PowerShellGet was not Installed by Using Install-Module, so it cannot be Updated

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

Leave a Comment

Required fields are marked *