Есть ли способ обновить все brew cask
s? Что то типа brew cask upgrade
?
37
вдохновленный ответом Паскаля
#!/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
Что оно делает
brew cask info
для самой новой версииисточник: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
один лайнер для нетерпеливых:
curl -s https://gist.githubusercontent.com/atais/9c72e469b1cbec35c7c430ce03de2a6b/raw/36808a0544628398f26b48f7a3c7b309872ca2c6/cask_upgrade.sh | bash /dev/stdin
сохранить как /usr/local/bin/cask-upgrade
, так что вы можете запустить его локально, как cask-upgrade
позже
brew cask uninstall --force
перед установкой новой версии, если вы не хотите, чтобы старая версия оставалась там.По состоянию на декабрь 2017 года
brew cask upgrade
это вещь.https://github.com/Homebrew/brew/pull/3396
источник
доморощенная-бочка-обновление
Я думаю, что это лучшее решение для модернизации бочек.
источник: https://github.com/buo/homebrew-cask-upgrade
Установка и использование
(Необязательно) Принудительное обновление устаревших приложений, в том числе помеченных как последние:
источник
Как следует из цитаты из другого ответа, в настоящее время нет способа обновить все обновленные бочки.
Однако вторая часть ответа неверна:
brew upgrade --all
не может обновить бочки.Единственный способ обновить все бочки - это получить список установленных бочек и принудительно переустановить их, включая те, которые не были изменены!
В рыбе это можно сделать так:
редактировать:
Atais создал скрипт, который работает: скрипт Bash для обновления пакетов .
Пожалуйста, подтвердите его ответ, а не этот.
источник
brew cask update
затем выполнить предыдущий ответ, чтобы обновить только те пакеты, которые в данный момент устарели здесь: apple.stackexchange.com/a/231020/49601Из
homebrew cask
документации :Следующего должно быть достаточно для обновления формул и бочек.
источник
brew upgrade --all
эквивалентноbrew upgrade
сейчас. Бочки не обновляются этой командой.Вот то, что у меня есть в моем .bash_profile, который я запускаю для полного обновления homebrew. Я «прикрепляю» пару элементов, чтобы предотвратить повторную загрузку гигантских загрузок для каждого обновления, потому что их версии всегда «самые последние» или их не следует обновлять.
источник
Чтобы переустановить приложения brew cask в zsh:
источник
brew cask
установок, требующих ввода данных пользователем (например, - кварц) . Кроме того, нет необходимости удалять каждое приложение перед его повторной установкой. В идеале вы также должны запустить обновление, как вbrew cask update
первую очередь.Это действительно раздражало меня, поэтому я создал этот скрипт, чтобы обновить все приложения Brew и позволить пользователю выбирать, какие приложения Cask обновлять. Вы также можете исключить приложения из рассмотрения.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
источник
Я рекомендую ответ @ eduncan911 в ответе на вопрос о переполнении стека .
Короче:
brew-cask.sh
просто выводит вывод, похожий на вывод Homebrewbrew update
. В приведенном выше списке показаны все установленные пакеты, а зеленым цветом указаны все✔
ожидающие обновления.brew-cask.sh
upgrade приведет к обновлению этих пакетов.Установить из его репо с:
Тогда используйте это так:
источник
Я сделал такой скрипт сам. Пожалуйста, посмотрите на github https://github.com/pesh1983/brew_cask_upgrade . У него довольно хорошее описание, но если у вас есть дополнительные вопросы, не стесняйтесь их задавать. Обновление справедливо: удалите и установите, поэтому вся необходимая очистка будет выполняться самим brew.
источник
Это, вероятно, будет более уместным в качестве комментария, но у меня недостаточно репутации, чтобы оставить комментарий, так что ...
На момент написания этой статьи
homebrew-cask
имеется собственная система обновления, поэтому сторонние сценарии и инструменты больше не требуются.Чтобы перечислить устаревшие бочки:
brew cask outdated
Чтобы обновить все устаревшие бочки:
brew cask upgrade
источник
источник