58 votes

Existe-t-il un moyen de mettre à jour brew cask

Y a-t-il un moyen de mettre à jour toutes les brew cask s ? Quelque chose comme brew cask upgrade ?

1voto

lucianf Points 121

Je recommande la réponse de @eduncan911 en la question équivalente sur Stack Overflow .

En bref :

  • $ brew-cask.sh donne juste une sortie similaire à celle de Homebrew brew update . la liste ci-dessus montre tous les paquets installés, avec une icône verte. indiquant toute mise à jour en cours.
  • $ brew-cask.sh upgrade forcera la mise à jour de ces paquets.

Installer à partir de son dépôt avec :

$ curl -L https://raw.githubusercontent.com/eduncan911/dotfiles/master/bin/brew-cask.sh --create-dirs -o ~/bin/brew-cask.sh
$ chmod 755 ~/bin/brew-cask.sh

Alors utilisez-le comme ceci :

$ brew-cask.sh
$ brew-cask.sh upgrade

1voto

Pavel Goltsev Points 11

J'ai fait ce script par moi-même. Veuillez consulter le github https://github.com/pesh1983/brew_cask_upgrade . Il a assez bonne description, mais si vous avez des questions supplémentaires, n'hésitez pas à me demander. Il fait une mise à jour équitable : désinstallation et installation, donc tout nettoyage nécessaire sera effectué par 'brew' lui-même.

1voto

Matias Points 141

Comme pour @DarrenPMeyer, ceci serait probablement plus approprié en tant que commentaire, mais moi aussi je n'ai pas assez de réputation pour en laisser un, donc...

Pour compléter les commentaires de @Raúl Cuza et @DarrenPMeyer, certains fûts sont considérés comme étant à mise à jour automatique, mais d'après mon expérience, beaucoup ne sont pas mis à jour rapidement.

On peut faire brew cask upgrade --greedy o brew cask outdated --greedy pour inclure ces fûts à mise à jour automatique.


Aussi, si vous voulez mettre à jour vos fûts automatiquement, je vous suggère d'installer d'abord homebrew-cask-upgrade :

brew tap buo/cask-upgrade
brew update
brew cu

puis l'ordonnancement brew cu --all --cleanup --yes dans votre crontab (nous devons utiliser la crontab de Root car les fûts de brassage ont souvent besoin de la permission de Root) :

sudo crontab -e

et écrire :

MAILTO=""
#!/bin/sh
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
40 15 * * * brew cu --all --cleanup --yes

2 votes

Le site greedy L'argument fonctionne bien.

1voto

Petr Kozelek Points 756

Depuis la version homebrew 2.6.0 brew cask upgrade est déprécié et a été remplacé par brew upgrade --cask (mars 2021)

https://brew.sh/2020/12/01/homebrew-2.6.0/

0voto

name Points 21
for app in $(brew cask list); do
    cver="$(brew cask info "${app}" | head -n 1 | cut -d " " -f 2)"
    ivers=$(ls -1 "/opt/homebrew-cask/Caskroom/${app}/.metadata/" | tr '\n' ' ' | sed -e 's/ $//')
    aivers=(${ivers})
    nvers=$(echo ${#aivers[@]})
    echo "[*] Found ${app} in cask list. Latest available version is ${cver}. You have installed version(s): ${overs}"
    if [[ ${nvers} -eq 1 ]]; then
        echo "${ivers}" | grep -q "^${cver}$" && { echo "[*] Latest version already installed :) Skipping changes ..."
        continue; }
    fi
    echo "[+] Fixing from ${ivers} to ${cver} ..."
    brew cask uninstall "${app}" --force
    brew cask install "${app}"
done

0 votes

C'est illisible - il faut aussi expliquer ce qu'il fait.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X