首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何卸载旧版本的模块

如何卸载旧版本的模块
EN

Stack Overflow用户
提问于 2019-08-16 21:32:03
回答 4查看 8.6K关注 0票数 7

系统似乎安装了两个版本的PowerShellGet模块。

代码语言:javascript
复制
Script     2.2        PowerShellGet
Script     1.0.0.1    PowerShellGet

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

代码语言:javascript
复制
>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

当我试图指定旧版本时,它会报告新版本。

代码语言:javascript
复制
>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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-08-16 22:13:55

简短回答:

如果PowerShellGet不是用PowerShellGet安装的,您就不能卸载它。

长答案:

PowerShellGet v1.0.0.1是作为Windows的一部分安装的,不使用PowerShellGet (自然)。因此,您为什么不能使用PowerShellGetUninstall-Module它。

另一方面,PowerShellGet v2.2是与PowerShellGet一起安装的,所以您可以使用Uninstall-Module来安装它。你也可以更新它等等。

如果您真的想卸载v1.0.0.1版本,您必须遵循以下步骤

  1. 浏览到C:\Program Files\WindowsPowerShell\Modules\
  2. 进入C:\Program Files\WindowsPowerShell\Modules\PowershellGet文件夹,并删除子文件夹1.0.0.1
  3. 然后对C:\Program Files\WindowsPowerShell\Modules\PackageManagement执行同样的操作,删除子文件夹1.0.0.1
票数 13
EN

Stack Overflow用户

发布于 2019-08-19 21:29:16

为了完整起见,在Windows系统上通常都有64位和32位的目录路径.

代码语言:javascript
复制
>(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
票数 0
EN

Stack Overflow用户

发布于 2020-09-24 16:28:09

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57531370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档