powershell - Chocolatey ParamPackage 为空,即使该值是在调试模式下传递的
问题描述
我正在尝试使用 Chocolatey 通过 Powershell 安装 MSI 包。按照所有文档和示例,我的设置如下所示:
巧克力安装.ps1
$ErrorActionPreference = 'Stop';
$fileLocation = Join-Path $toolsDir 'installer.msi'
$pp = Get-PackageParameters
Write-Output ("Keys count is : ${pp}")
if (!$pp['defaultName']) { Write-Error "Please provide a default name"; exit -1; }
...
当我运行此命令时:
choco install .\st-installer.1.6.7.nupkg --force --params "'/defaultName:Bob'"
powershell 抛出我的错误:
错误:运行命令停止,因为首选项变量“ErrorActionPreference”或公共参数设置为停止:请提供默认名称
但是,如果我使用 -d 开关运行命令,Powershell 会显示:packageParameters: '/defaultName:',
我在这里做错了什么?我已经尝试了 params、installation 参数而不是 param 包的各种引用。我不知道我还能做什么。
解决方案
我之前在本地测试包时遇到过这种情况,我的附加参数值没有像你看到的那样被引用。我不知道为什么会这样,但不要引用nupkg
. 相反,将 source 参数设置为包所在的目录(相对路径很好),然后按照包 ID 安装包,就像从Chocolatey.org安装一样。例如,如果包在您的当前目录中:
cinst -y st-installer --params "'/defaultName:Bob'" -s .
我不确定您使用的是哪个版本的 Chocolatey,但是如果我尝试通过指向nupkg
磁盘上的 来安装包,我会收到一条警告,提示我更喜欢-s
参数和包 ID 而不是引用包文件。
推荐阅读
- functional-programming - 我的程序给了我警告(程序的主模块是空的:运行时什么都不会发生)
- python - 如何使 ndimage.filters.maximum_filter 像 MATLAB 的 imregionalmax 函数一样工作?
- java - 如何从具有多维数组的列表视图中获取值?
- java - maven 中缺少子依赖的解决方法
- c++ - 在带有 Visual Studio 2017 的 Windows 上使用 CGAL 和 Boost 时编译错误
- r - 按因子对柱条施加正态分布
- c# - 如何更改图像源,在 GUI 中显示并在之后运行一些代码?
- spring-kafka - Kafka消费者健康检查
- spring - 如何以个人方式配置spring-ioc依赖注入?
- spring-boot - Spring Boot 2 Actuator Starter 中的 Nullpointer w。Tomcat指标