我希望能够使用choco upgrade all -y
来更新几乎我所有的 Chocolatey 包裹。
有些包代表我想要安装的应用程序,但我不再希望它们被更新,至少不是通过命令自动更新choco upgrade all
。
我可以从 Chocolatey 中删除软件包而不实际卸载应用程序吗?这样就能达到预期的效果。
或者我可以用更好的方式实现我的目标吗?
答案1
您有两个选择:
您可以使用 pin(参见巧克力别针-h有关详细信息),Chocolatey 将不会尝试升级软件包:
choco pin add -n=packageName
。之后,该命令choco upgrade all
将跳过名为 的软件包packageName
。您可以从 Chocolatey 数据库中删除应用程序(必须删除应用程序文件夹)。所有应用程序元数据都存储在文件夹中
C:\ProgramData\chocolatey\lib\<package-name>
,例如:C:\ProgramData\chocolatey\lib\adobereader
。小心删除目录,因为有时应用程序会安装在 chocolatey 应用程序文件夹内,例如:
C:\ProgramData\chocolatey\lib\javadecompiler-gui\jd-gui-windows-1.4.0
答案2
例子myExamplePackage
(无需卸载即可从 chocolatey 中删除软件包)
choco uninstall myExamplePackage -n --skipautouninstaller
来自巧克力文档:
注意:可以使用标志删除卸载失败的软件包
-n --skipautouninstaller
。这将从 chocolatey 中删除软件包,而无需尝试卸载程序。