70

我曾经能够打电话cup all并更新我的应用程序。现在,它要求yes确保我要安装选定的软件包。有没有一种方法可以让所有内容自动更新,而无需yes为每次更新不断输入?

4

2 回答 2

122

正如 Rob 指出的那样, -y 将跳过给定命令的提示。

如果您根本不想被确认提示打扰,您可以全局设置该选项。

以下启用allowGlobalConfirmation,它将在没有确认提示的情况下安装或更新。

choco feature enable -n=allowGlobalConfirmation

如果您想重新打开提示,请使用 disable 运行相同的命令:

choco feature disable -n=allowGlobalConfirmation

这对于无人参与的脚本很有用,而不会影响提示的未来状态。

注意:语法最近发生了变化(2016 年 7 月),现在需要一个等号allowGlobalConfirmation而不是破折号。感谢您的提醒,@dragon788。

于 2015-05-24T20:49:01.357 回答
58

tl; dr - 是的,完全有可能。采用cup all -y

现在还可以查看帮助菜单 - choco -h,choco install -h

更长的答案,出于安全原因,我们已经更接近其他包管理器,默认情况下我们会停止并确认您是否可以接受状态更改。我总是在发行说明/更改日志中传达更改,这些更改也最终出现在nuspec 文件中,因此我强烈建议人们至少扫描其中一个以查看任何标记为重大更改的内容。始终从当前版本扫描到要升级到的版本,以便捕获所有更改。

现在最重要的是x.y.z发布(在本例中为 0.9.9),一旦我们达到 v1,我们将完全兼容 SemVer,并且重大更改将构成主要版本提升(我们仍然是 semver 不到v1),因此您可以扫描版本中的重大更改和主要新功能、x版本中的新兼容功能.y,并且.z版本将仅包含当前版本的兼容修复。

0.9.9 引入了一个新的编译客户端,它是/现在完全重写。0.9.10 将与旧客户端具有完整的功能奇偶校验 - 请参阅FeatureParity。为什么要重写?对于现在可以在单声道上运行的更易于维护、更快的客户端,因此您不会完全依赖于 Windows。我们已经开始添加对其他安装提供程序(如Scriptcs)的支持。

您的问题的发行说明的相关部分:

  • [安全] 提示确认:出于安全原因,我们现在在更改大多数命令的系统状态之前停止确认。您可以通过-y来确认任何提示或在配置中设置一个值,该值将全局确认并表现得像旧版本的 Chocolatey(allowGlobalConfirmation请参阅choco feature -h如何启用)。
于 2015-04-26T12:21:15.377 回答