为什么无法识别 Uninstall-ChocolateyPackage cmdlet?

Why is the Uninstall-ChocolateyPackage cmdlet not recognized?

我正在尝试 运行 PowerShell 脚本从我的 Windows 10 虚拟机中卸载 owncloud-client。下面显示的代码可以在

找到

https://chocolatey.org/packages/owncloud-client (tools\chocolateyUninstall.ps1)

我只想通过 运行从 PowerShell 中调用它来测试代码,看看它是否真的卸载了软件。

$unfile = "ownCloud\uninstall.exe"

if (Test-Path "${Env:ProgramFiles(x86)}$unfile") {
  $unpath = "${Env:ProgramFiles(x86)}$unfile"
} else {
  $unpath = "${Env:ProgramFiles}$unfile"
}

Uninstall-ChocolateyPackage 'owncloud-client' 'exe' '/S' "$unpath"

我 运行 从包含它的目录中输入脚本:

.\chocolateyUninstall.ps1

作为输出,我收到以下错误:

Uninstall-ChocolateyPackage  is not recognized as the name of cmdlet, function, script file, or operable program.

Uninstall-ChocolateyPacakge.ps1 软件包由 chocolatey 提供。我检查了我的机器,这个包存在于:

C:\ProgramData\chocolatey\helpers\functions\Uninstall-ChocolateyPackage.ps1

但它仍未被 powershell 识别为 cmdlet。我怎么解决这个问题?谢谢

当 运行安装 installation/uninstallation 脚本时,Chocolatey 首先包含 Chocolatey PowerShell 模块。这是在后台完成的,通常最终用户不需要担心。

对于您尝试执行的操作,您需要首先对 Chocolatey 模块执行 Import-Module,以将其引入当前的 PowerShell 会话。你可以在这里找到这个:

旧:C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1

新:C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1

这应该允许您直接测试脚本。

或者,您可以 运行 安装软件包,然后 运行 卸载以查看它是否也能正常工作。

使用最新的审核工具,您不需要检查每个包(我的意思是,除非它让您感觉更安全)。您可以随时检查自动化测试。包标题右侧有一个状态点。

你可以找到测试总结

owncloud-client v2.1.1.5837 - Passed - Package Test Results

https://chocolatey.org/packages/owncloud-client/2.1.1.5837 Tested 10 Feb 2016 12:51:22 +00:00 Tested against win2012r2x64 (Windows Server 2012 R2 x64) Tested with the latest version of choco, possibly a beta version. Tested with chocolatey-package-verifier service v0.4.0-15-g979d0cc Install was successful. Uninstall was successful.

https://gist.github.com/choco-bot/45f343e23cc12e101130#file-_summary-md

或直接浏览卸载日志。

https://gist.github.com/choco-bot/45f343e23cc12e101130#file-uninstall-txt