【问题标题】:How do I update all Chocolatey applications without confirmation?如何在没有确认的情况下更新所有 Chocolatey 应用程序?
【发布时间】:2015-04-26 03:38:14
【问题描述】:

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

【问题讨论】:

  • 在 choco 0.9.9.6 中添加了一个注释,当它提示提及如何具体自动确认时。
  • choco update all -y 怎么样?

标签: chocolatey


【解决方案1】:

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

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

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

choco feature enable -n=allowGlobalConfirmation

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

choco feature disable -n=allowGlobalConfirmation

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

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

【讨论】:

  • 谢谢乔恩,也许应该在我的回答中让这一点更加突出。
  • 我认为在这两个答案之间,人们既会学鱼又会吃鱼。顺便说一句,@ferventcoder,非常感谢巧克力——我是一个超级粉丝。
  • 这对我帮助很大。谢谢乔恩。
  • 这应该是答案。
【解决方案2】:

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

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

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

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

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

relevant bits of the release notes 提问:

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

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多