Uso o Homebrew Cask para instalar aplicativos no OS X. Como atualizo todos os barris instalados?
macos
homebrew
homebrew-cask
enrico.bacis
fonte
fonte
~/Library/Application Support/Brackets/extensions/user
e devem persistir nas atualizações. Os plug-ins do sistema são realmente armazenados no pacote de aplicativosBrackets.app/extensions/default
e são perdidos quando você substitui o pacote de aplicativos, mas a maneira mais fácil seria apenas copiar os plug-ins do pacote antigo para o novo.brew cask upgrade
mesclado 15 commits no Homebrew: masterbrew cask uninstall my-cool-cask
entãobrew cask install my-cool-cask
.Respostas:
Agora existe finalmente um mecanismo oficial de atualização para o Homebrew Cask (consulte a edição 3396 para a implementação)! Para usá-lo, basta executar este comando:
brew cask upgrade
No entanto, isso não atualizará os barris que não possuem informações sobre versão (
version :latest
) ou aplicativos que possuem um mecanismo de atualização interno (auto_updates true
). Para reinstalar esses barris (e, consequentemente, atualizá-los se houver atualizações disponíveis), execute o comando upgrade com o--greedy
sinalizador como este:brew cask upgrade --greedy
fonte
brew cask outdated | xargs brew cask reinstall
para reinstalar apenas barris desatualizados.brew cask outdated
apenas imprime nomes de aplicativos que não têm a "atualização automática" ativada. Para atualizar todos os aplicativos que estão desatualizados, o usobrew cask outdated --greedy --verbose | grep -v '(latest)' | awk '{print $1}' | xargs brew cask reinstall
homebrew-cask-upgrade
Eu acho que essa é 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
É possível listar os barris instalados com:
E force a reinstalação de um barril com:
Então, canalizando a saída do primeiro comando para o segundo, atualizamos todos os barris:
fonte
Script Bash para atualizar pacotes
inspirado pela resposta de Pascal
O que faz
brew cask info
versão mais recentefonte: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
um forro para impaciente:
salvar como
/usr/local/bin/cask-upgrade
, para que você possa executá-lo localmente maiscask-upgrade
tardefonte
brew cask info $cask | grep "Not installed"
?$ brew cask info $cask | grep "Not installed"
dá o erroError: This command requires a Cask token
for cask in ${casks[@]}; do
smacks head
obviamente! Não posso acreditar que não entendi.Em dezembro de 2017, use: atualização do barril de fermentação
[DEPRECADO desde dezembro de 2017, quando o Homebrew introduziu o comando de atualização para o barril] Simplesmente uso o seguinte:
fonte
awk '{print $1}'
entre os dois.Aqui está a função que escrevi para lidar com isso. Observe que eu pessoalmente não queria que ele reinstale tudo cegamente, já que alguns dos barris que utilizo demoram um pouco para instalar ou exigem instruções adicionais.
fonte
Com base na resposta de @Atais, aprimorei sua lógica para algo melhor. Eu queria uma maneira de inspecionar os pacotes a serem atualizados primeiro, antes de realmente forçar a atualização.
$ brew-cask.sh
apenas lista uma saída semelhante à do Homebrewbrew update
.✔
indicando as atualizações pendentes.$ brew-cask.sh upgrade
forçará a atualização desses pacotes.Código:
basta instalá-lo (também conhecido como "preciso agora!")
Está registrado no meu
.dotfiles
repositório ; então, você pode instalá-lo rapidamente no seu~/bin
com:Em seguida, use-o assim:
Se você não tiver
~/bin
no seu caminho, prefixe~/bin/
as instruções acima.fonte
brew cask upgrade
O
upgrade
comando foi introduzido recentemente no Homebrew Cask e deve descontinuar todos os outros métodos manuais descritos nas outras respostas.fonte
Eu acho que usando
fará o truque. Isso também ajudará a remover as versões anteriores do aplicativo e instalará a versão mais recente.
fonte
brew cask reinstall `brew cask outdated`
melhorando o código fornecido pelo deinspanjer, tentei imitar um comando noop, semelhante ao do chocolatey ( atualização do choco --noop / choco desatualizado ).
https://git.io/vgjiL
Como se pode ver, estou usando uma abordagem modular, pois meu caso de uso difere um pouco. Não quero me sentar na frente do meu computador e digite sim / não para todos os aplicativos que instalei. Embora não haja uma maneira real de atualizar os barris (apenas a reinstalação da versão mais recente), primeiro faço a atualização para ter as informações de que existem realmente atualizações disponíveis .
Em seguida, percorro todos os barris para exibir suas informações. Como eu fiz a atualização antes, agora é fornecida uma informação que a versão mais recente de algum barril não está instalada.
Dentro do meu método de atualização, analiso o comando info para essa linha específica:
Que se traduz em: "Forneça as 3 linhas acima das informações fornecidas sempre que você ler a linha" não instalada ". Exclua qualquer linha que tenha um link, exclua também uma linha que tenha um ':'."
Dada a estrutura do comando brew cask info, terminamos com uma linha (sem informações da versão, sem URL do aplicativo), que reflete o nome real do barril no qual ele também foi instalado.
saída de informações do barril de fermentação
Na minha versão, essas informações agora são impressas para que você possa ver facilmente quais barris estão desatualizados e que podem ser atualizados.
Neste ponto, eu faço um caso de troca, porque talvez agora não haja tempo suficiente para atualizar as coisas. Depende do seu caso de uso. Para mim, às vezes eu só quero ver o que há de novo (aguardando uma nova versão, uma correção de bug), mas não tenho tempo para atualizar as coisas, porque agora eu não quero fechar meu navegador etc.
Portanto, se alguém optar por "sim", a lista de nomes limpos de barris será fornecida à função de atualização, onde para cada barril que foi determinado como desatualizado, a reinstalação é emitida.
Mais uma vez obrigado a deinspanjer, enquanto tentava resolver esse problema por mim mesmo, sempre esqueci de publicar a atualização com antecedência, para que não houvesse uma linha "não instalada" para analisar (a base de toda a minha abordagem).
Eu espero que isso tenha sido útil.
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 um upgrade justo: desinstale e instale, para que qualquer limpeza necessária seja realizada pelo próprio 'brew'.
fonte
fonte
obter barris desatualizados:
barril de atualização:
script de demonstração:
fonte
Verifique barris desatualizados:
Atualizando todo o barril desatualizado:
Se você deseja atualizar o barril específico, basta adicionar o nome do barril após a atualização (por exemplo: 4k-video-downloader):
fonte
Com base no que li, criei um script que criará um arquivo que lista os arquivos a serem atualizados, incluindo aplicativos definidos como os mais recentes. Você pode modificar o arquivo para atender aos seus requisitos e instalar atualizações usando o meu script olinst.
Para mais informações, visite meu github.
https://github.com/pacav69/caskroom-offline-install
fonte
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 uso
fonte