Chocolatey helper functions旨在用于Chocolatey程序包脚本。
注意:这些脚本用于程序包脚本,不能直接用于 电源外壳。这是在“创建软件包”部分中,而不是在 巧克力部分。
尽管有一些有用的帮助器功能,例如
Install-ChocolateyPinnedTaskBarItem
,我想在PowerShell控制台中尝试。
有什么方法可以在PowerShell控制台中运行这些帮助程序功能吗?
答案 0 :(得分:1)
在大多数情况下,这些助手功能应该“正常”工作。您可以将Chocolatey PowerShell模块加载到当前的PowerShell会话中,并使用帮助程序功能。
实际上,实际上有一个Chocolatey Extension可以做到这一点,以帮助创建Chocolatey软件包:
https://chocolatey.org/packages/chocolateypowershell
但是,应该注意的是,在执行Chocolatey本身时,可能无法正确设置这些PowerShell函数中使用的某些变量和其他内容。执行后,Chocolatey实际上会创建它自己的PowerShell主机,并按照成功执行所需的方式进行设置。可能是直接加载PowerShell模块并没有设置使所有事物正常运行所需的一切。
话虽如此,简单的助手功能(例如您提到的Install-ChocolateyPinnedTaskBarItem)应该可以正常工作。
答案 1 :(得分:0)
是的,我也想在PowerShell控制台中测试一些有用的帮助程序功能。
对于我们要尝试做的事情,您首先需要在Chocolatey模块上执行Import-Module
,以将其带入当前的PowerShell会话中。您可以在这里找到:C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1
Import-Module C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\chocolateyInstaller.psm1
这应该使您可以直接测试脚本以及所有其他Chocolatery Helpers Reference
另一种替代方法是安装chocolateypowershell
,您可以运行软件包的安装,然后运行Chocolatey Helper函数以查看其是否也正常运行。
https://chocolatey.org/packages/chocolateypowershell
答案 2 :(得分:0)
您要导入的内容位于文件中
C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1
但这可能还取决于用户-某人可能会覆盖Chocolatey安装并将其放置在其他文件夹中。
但是您只想在必要时使用相同的辅助函数,否则就不使用。
您可以在.ps1
脚本的开头使用以下脚本:
if( -not ( get-command Install-ChocolateyPackage -erroraction silentlycontinue ) ) {
Write-Host "Importing chocolateyInstaller.psm1..."
Import-Module C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1 #-Verbose
}
在这里,我正在检查功能Install-ChocolateyPackage
是否已经导入-如果尚未导入,则通过默认路径导入。
在不需要的地方删除Write-Host
和#- Verbose
的评论。