时不时地,我想升级一个巧克力色的固定包

时不时地,我想升级一个巧克力色的固定包

我每周都会升级所有软件包

cup all -y

但是有几个应用程序我很少使用。我想每 6 或 12 周升级一次。所以我把它们固定了。效果很好。但是我该如何覆盖图钉呢?我已经固定了大约 4 个软件包,大约两个月了。我想升级它们吗?

我希望如果我按名称指定固定包,chocolatey 就会明白我确实想要升级它。

choco upgrade thunderbird

这让我毫无进展。

thunderbird 已固定。跳过已固定的软件包

请不要告诉我,我必须取消固定每个我固定的包,然后升级所有包,然后重新固定我刚刚取消固定的包。

答案1

在 Chocolatey 的当前版本 0.10.15 中,没有办法绕过包装上的 pin。您需要执行以下操作:

choco pin remove -n=thunderbird
choco upgrade thunderbird
choco pin add -n=thunderbird

这里有一个提供所需能力的增强请求:

https://github.com/chocolatey/choco/issues/2050

我建议您订阅该协议,并为所需的功能提供任何额外的输入。

答案2

有一个更简单的方法可以做到这一点(而不需要写三遍):-

下面会列出所有被固定的内容 - 然后你只需输入/复制粘贴结果即可

$packages = @()
$test = choco pin list | Select-Object -skip 1
foreach ($t in $test) {
    $packages += $t.Substring(0, $t.IndexOf('|'))
}

$package = read-host "which package do you wish to upgrade? $packages"
choco pin remove -n=$package 
choco upgrade $package 
choco pin add -n=$package 

答案3

抱歉,我没有权限在这里评论代码。@charles Delroy 脚本的正确形式是:

$packages = @()
$test = choco pin list | Select-Object -skip 1
foreach ($t in $test) {
    $packages += $t.Substring(0, $t.IndexOf('|'))
}

$package = read-host "which package do you wish to upgrade? $packages"
$package
choco pin remove -n="$package"
choco upgrade $package
choco pin add -n="$package"

缺少了一些“”。

相关内容