web-dev-qa-db-fra.com

Comment mettre à jour toutes les applications Chocolatey sans confirmation?

J'étais en mesure d'appeler cup all et faire mettre à jour mes applications. Maintenant, il demande yes pour m'assurer que je souhaite installer le package sélectionné. Existe-t-il un moyen de tout mettre à jour automatiquement sans taper constamment yes pour chaque mise à jour?

52
Josue Espinosa

tl; dr - Oui, tout à fait possible. Utilisation cup all -y

Consultez également les menus d'aide maintenant - choco -h, choco install -h

Réponse plus longue, nous nous sommes rapprochés un peu plus des autres gestionnaires de paquets pour des raisons de sécurité, où par défaut nous nous arrêtons et confirmons si vous êtes d'accord avec le changement d'état. Je communique toujours les changements dans les notes de version / changelog , qui se retrouvent également dans le fichier nuspec , donc je recommande fortement aux gens de scanner au moins un de ceux pour voir quoi que ce soit étiqueté changements de rupture. Scannez toujours à partir de votre version actuelle jusqu'à celle vers laquelle vous effectuez une mise à niveau afin de saisir toutes les modifications.

Celui qui est le plus important en ce moment est le x.y.z release (dans ce cas 0.9.9), une fois que nous aurons atteint la v1, nous serons entièrement conformes à SemVer et les changements de rupture constitueront un bump majeur de la version (nous sommes toujours semver dans une version inférieure à v1), vous pouvez donc scanner les changements de rupture et de nouvelles fonctionnalités majeures dans une version x, de nouvelles fonctionnalités compatibles dans une .y release, et .z les versions ne contiendront que des correctifs compatibles pour la version actuelle.

0.9.9 a introduit un nouveau client compilé qui était/est une réécriture totale. 0.9.10 aura une parité complète avec l'ancien client - voir FeatureParity . Pourquoi la réécriture? Pour un client plus facile à entretenir et plus rapide qui peut fonctionner en mono maintenant, vous n'êtes donc pas complètement lié à Windows. Nous avons commencé à ajouter la prise en charge d'autres fournisseurs d'installation (comme Scriptcs ).

Les parties pertinentes des notes de version pour votre question:

  • [Sécurité] Demande de confirmation: Pour des raisons de sécurité, nous nous arrêtons maintenant pour confirmation avant de changer l'état du système sur la plupart des commandes. Tu peux passer -y pour confirmer les invites ou définir une valeur dans la configuration qui confirmera et se comportera globalement comme les anciennes versions de Chocolatey (allowGlobalConfirmation, voir choco feature -h pour savoir comment l'activer).
47
ferventcoder

Comme le souligne Rob, -y ignorera les invites pour une commande donnée.

Si vous préférez ne pas être dérangé par les invites de confirmation, vous pouvez définir l'option globalement.

Les éléments suivants permettent allowGlobalConfirmation, qui sera installé ou mis à jour sans invites de confirmation.

choco feature enable -n=allowGlobalConfirmation

Si vous souhaitez réactiver les invites, exécutez la même commande avec disable:

choco feature disable -n=allowGlobalConfirmation

Cela peut être utile pour les scripts sans assistance sans affecter l'état futur des invites.

REMARQUE: La syntaxe a récemment changé (juillet 2016) et nécessite désormais un signe égal avant allowGlobalConfirmation au lieu d'un tiret. Merci pour l'avertissement, @ dragon788.

94
Jon Crowell