为什么无法识别 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
我正在尝试 运行 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