如何让 Chocolatey 中的包装参数正常工作?

Pas*_*ges 2 chocolatey

我很难弄清楚如何获取 Chocolatey 包中的 PackageParameter?根据文档,以下内容应该有效,但不适合我。

这就是我所做的

使用参数安装

choco install .\test-params.0.0.1.2.nupkg --params="'/SERVER:test'" -y -d
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,在调试输出中我得到一行内容

PackageParameters='/SERVER:test'|
Run Code Online (Sandbox Code Playgroud)

为了获取参数,我根据文档chocolateyInstall.ps1使用。$par = Get-PackageParameters

但由于某种原因$par仍然是空的。

Write-Host "PackageParameters are: $par"
Run Code Online (Sandbox Code Playgroud)

我明白了PackageParameters are: System.Collections.Hashtable

Write-Host $par['SERVER']
Run Code Online (Sandbox Code Playgroud)

只是一个空行

有人可以告诉我我缺少什么吗?

完整的调试输出可以在这里找到

Pas*_*ges 5

问题解决了!问题实际上是软件包的安装方式

当使用此调用安装时,PackageParameters 不起作用。

choco install .\test-params.0.0.1.2.nupkg --params="'/SERVER:test'" -y -d
Run Code Online (Sandbox Code Playgroud)

通过用 -s 指示包源(这实际上是我现在发现的推荐方式),PackageParameters 按预期工作。

choco install test-params -s="path/to/local/packages" --params="'/SERVER:test'" -y -d
Run Code Online (Sandbox Code Playgroud)