Existe alguma maneira de atualizar todos os brew cask
s? Algo como brew cask upgrade
?
37
inspirado pela resposta 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
O que faz
brew cask info
versão mais recentefonte: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
um forro para impaciente:
curl -s https://gist.githubusercontent.com/atais/9c72e469b1cbec35c7c430ce03de2a6b/raw/36808a0544628398f26b48f7a3c7b309872ca2c6/cask_upgrade.sh | bash /dev/stdin
salvar como /usr/local/bin/cask-upgrade
, para que você possa executá-lo localmente mais cask-upgrade
tarde
brew cask uninstall --force
antes de instalar a nova versão, se não quiser que a versão antiga permaneça lá.Em dezembro de 2017,
brew cask upgrade
é uma coisa.https://github.com/Homebrew/brew/pull/3396
fonte
homebrew-cask-upgrade
Penso que esta é de longe a melhor solução para atualizar os barris.
fonte: https://github.com/buo/homebrew-cask-upgrade
Instalação e uso
(Opcional) Force a atualização de aplicativos desatualizados, incluindo os marcados como mais recentes:
fonte
Como a citação na outra resposta diz, atualmente não há como atualizar todos os barris atualizados.
A segunda parte da resposta está errada:
brew upgrade --all
não é possível atualizar os barris.A única maneira de atualizar todos os barris é obter uma lista dos barris instalados e forçá-los a serem reinstalados - incluindo aqueles que não foram alterados!
No peixe , você poderia fazer assim:
editar:
Atais criou um script que funciona: Script Bash para atualizar pacotes .
Por favor, vote novamente a resposta dele em vez desta.
fonte
brew cask update
, em seguida, siga a resposta anterior para atualizar somente os pacotes que estão desatualizados aqui: apple.stackexchange.com/a/231020/49601A partir da
homebrew cask
documentação :O seguinte deve ser suficiente para atualizar as fórmulas de fermentação e os barris.
fonte
brew upgrade --all
é equivalente abrew upgrade
agora. Os barris não são atualizados por esse comando.Aqui está o que eu tenho no meu .bash_profile que eu corro para fazer uma atualização completa do homebrew. Eu "pin" alguns itens para impedir que downloads gigantescos sejam buscados repetidamente para cada atualização, porque suas versões são sempre "mais recentes" ou não devem ser atualizadas.
fonte
Para reinstalar aplicativos de barril de fermentação no zsh:
fonte
brew cask
instalações que exigem entrada do usuário (por exemplo, quartzo) . Além disso, não é necessário desinstalar todos os aplicativos antes de reinstalá-lo. Idealmente, você também deve executar uma atualização como abrew cask update
primeira.Isso realmente me irritou, então eu criei esse script para atualizar todos os aplicativos Brew e permitir que o usuário escolha quais aplicativos Cask serão atualizados. Você também pode excluir aplicativos da consideração.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
fonte
Eu recomendo a resposta de @ eduncan911 na pergunta de contrapartida no Stack Overflow .
Em resumo:
brew-cask.sh
apenas lista uma saída semelhante à do Homebrewbrew update
. a lista acima mostra todos os pacotes instalados, com um verde✔
indicando as atualizações pendentes.brew-cask.sh
upgrade forçará a atualização desses pacotes.Instale a partir de seu repositório com:
Em seguida, use-o assim:
fonte
Eu fiz esse roteiro sozinho. Consulte o github https://github.com/pesh1983/brew_cask_upgrade . Tem uma descrição muito boa, mas se você tiver alguma dúvida adicional, não hesite em me perguntar. Ele faz uma atualização justa: desinstalar e instalar, portanto, qualquer limpeza necessária será realizada pelo próprio 'brew'.
fonte
Provavelmente isso seria mais apropriado como comentário, mas não tenho reputação suficiente para deixar um, então ...
No momento da redação deste artigo, ele
homebrew-cask
possui seu próprio sistema de atualização e, portanto, os scripts e ferramentas de terceiros não são mais necessários.Para listar barris desatualizados:
brew cask outdated
Para atualizar todos os barris desatualizados:
brew cask upgrade
fonte
fonte