如何卸载旧版本的模块

时间:2019-08-16 21:32:03

标签: powershell

系统似乎安装了两(2)版的PowerShellGet模块。

Script     2.2        PowerShellGet
Script     1.0.0.1    PowerShellGet

如何卸载旧版本? Uninstall-Module命令似乎正在2.2目录中查找。为什么会这样?

>Uninstall-Module -Name 'PowerShellGet' -RequiredVersion '1.0.0.1'
PackageManagement\Uninstall-Package : No match was found for the specified search criteria and module names 'PowerShellGet'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.2\PSModule.psm1:12655 char:21
+ ...        $null = PackageManagement\Uninstall-Package @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...ninstallPackage:UninstallPackage) [Uninstall-Package], Exception
    + FullyQualifiedErrorId : NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.UninstallPackage

当我尝试指定旧版本时,它将报告新版本。

>Get-Module -FullyQualifiedName @{ModuleName="PowerShellGet";ModuleVersion="1.0.0.1"}

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     2.2        PowerShellGet                       {Find-Command, Find-DscResource, Find-Module, Find-RoleCapability...}

>($PSVersionTable.PSVersion).ToString()
5.1.14409.1018
>(Get-CimInstance -ClassName Win32_OperatingSystem).Caption
Microsoft Windows 7 Enterprise

3 个答案:

答案 0 :(得分:2)

简短答案:

如果未与PowerShellGet一起安装,则无法使用PowerShellGet进行卸载。

长答案:

PowerShellGet v1.0.0.1是Windows的一部分,没有自然使用PowerShellGet。因此,为什么不能使用PowerShellGetUninstall-Module

另一方面,

PowerShellGet v2.2PowerShellGet一起安装了 ,因此您可以 Uninstall-Module安装它。您还可以对其进行更新等。

如果您确实要卸载v1.0.0.1版本,则必须遵循以下步骤 Steps

  
      
  1. 浏览到C:\Program Files\WindowsPowerShell\Modules\
  2.   
  3. 进入C:\Program Files\WindowsPowerShell\Modules\PowershellGet文件夹,然后删除子文件夹1.0.0.1
  4.   
  5. 然后对C:\Program Files\WindowsPowerShell\Modules\PackageManagement做同样的操作,删除   子文件夹1.0.0.1
  6.   

答案 1 :(得分:0)

出于完整性考虑,在Windows系统上,通常同时具有64位和32位目录路径。

>(Get-ChildItem -Recurse -Directory -Path "$Env:SystemDrive/" -Filter '1.0.0.1' -ErrorAction SilentlyContinue).FullName
C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.0.0.1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1
C:\Program Files (x86)\WindowsPowerShell\Modules\PackageManagement\1.0.0.1
C:\Program Files (x86)\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1

答案 2 :(得分:0)

模块也可以在System32中找到。当我只查看32/64位程序文件试图弄清楚某些模块仍在加载时,我感到非常头痛。鬼nea的微软。

C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules

相关问题