¿Hay alguna forma de actualizar todos los brew cask
s? Algo como brew cask upgrade
?
37
inspirado en la respuesta de Pascal
#!/usr/bin/env bash
(set -x; brew update;)
(set -x; brew cleanup;)
(set -x; brew cask cleanup;)
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
casks=( $(brew cask list) )
for cask in ${casks[@]}
do
version=$(brew cask info $cask | sed -n "s/$cask:\ \(.*\)/\1/p")
installed=$(find "/usr/local/Caskroom/$cask" -type d -maxdepth 1 -maxdepth 1 -name "$version")
if [[ -z $installed ]]; then
echo "${red}${cask}${reset} requires ${red}update${reset}."
(set -x; brew cask uninstall $cask --force;)
(set -x; brew cask install $cask --force;)
else
echo "${red}${cask}${reset} is ${green}up-to-date${reset}."
fi
done
Que hace
brew cask info
versión más nuevafuente: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
un forro para impacientes:
curl -s https://gist.githubusercontent.com/atais/9c72e469b1cbec35c7c430ce03de2a6b/raw/36808a0544628398f26b48f7a3c7b309872ca2c6/cask_upgrade.sh | bash /dev/stdin
guardar como /usr/local/bin/cask-upgrade
, para que pueda ejecutarlo localmente más cask-upgrade
tarde
brew cask uninstall --force
antes de instalar la nueva versión si no desea que la versión anterior permanezca allí.A partir de diciembre de 2017,
brew cask upgrade
es una cosa.https://github.com/Homebrew/brew/pull/3396
fuente
homebrew-cask-upgrade
Creo que esta es, con mucho, la mejor solución para actualizar los barriles.
fuente: https://github.com/buo/homebrew-cask-upgrade
Instalación y uso
(Opcional) Fuerce la actualización de aplicaciones obsoletas, incluidas las marcadas como más recientes:
fuente
Como dice la cita en la otra respuesta, actualmente no hay forma de actualizar todos los barriles actualizados.
Sin embargo, la segunda parte de la respuesta es incorrecta:
brew upgrade --all
no se pueden actualizar los barriles.La única forma de actualizar todos los barriles es obtener una lista de los barriles instalados y obligarlos a volver a instalarlos, ¡incluidos los que no han cambiado!
En pescado , podrías hacer eso así:
editar:
Atais creó un script que funciona: Bash script para actualizar paquetes .
Vota por favor su respuesta en lugar de esta.
fuente
brew cask update
y seguir la respuesta anterior para actualizar solo los paquetes que actualmente están desactualizados aquí: apple.stackexchange.com/a/231020/49601De la
homebrew cask
documentación :Lo siguiente debería ser suficiente para actualizar tanto las fórmulas de preparación como los barriles.
fuente
brew upgrade --all
es equivalente abrew upgrade
ahora. Los barriles no se actualizan con ese comando.Esto es lo que tengo en mi .bash_profile que ejecuto para hacer una actualización completa de homebrew. "Fijo" un par de elementos para evitar que se descarguen descargas gigantes para cada actualización, porque sus versiones son siempre "más recientes" o no deberían actualizarse.
fuente
Para reinstalar aplicaciones de brew cask en zsh:
fuente
brew cask
instalaciones que requieren la entrada del usuario (por ejemplo, cuarzo) . Además, no es necesario desinstalar todas las aplicaciones antes de volver a instalarlas. Idealmente, también debería ejecutar una actualización como labrew cask update
primera.Esto realmente me molestó, así que creé este script para actualizar todas las aplicaciones Brew y permitir al usuario elegir qué aplicaciones Cask actualizar. También puede excluir las aplicaciones de la consideración.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
fuente
Recomiendo la respuesta de @ eduncan911 en la pregunta de contraparte en Stack Overflow .
En breve:
brew-cask.sh
solo enumera una salida similar a la de Homebrewbrew update
. la lista anterior muestra todos los paquetes instalados, con un verde que✔
indica las actualizaciones pendientes.brew-cask.sh
upgrade forzará la actualización de esos paquetes.Instalar desde su repositorio con:
Entonces úsalo así:
fuente
Hice tal guión solo. Mire el github https://github.com/pesh1983/brew_cask_upgrade . Tiene una descripción bastante buena, pero si tiene alguna pregunta adicional, no dude en preguntarme. Realiza una actualización justa: desinstala e instala, por lo que cualquier limpieza necesaria será realizada por 'brew'.
fuente
Esto probablemente sería más apropiado como comentario, pero no tengo suficiente reputación para dejar uno, así que ...
A partir de este escrito,
homebrew-cask
tiene su propio sistema de actualización, por lo que ya no se necesitan los scripts y herramientas de terceros.Para enumerar barriles obsoletos:
brew cask outdated
Para actualizar todos los barriles obsoletos:
brew cask upgrade
fuente
fuente