Я использую Homebrew Cask для установки приложений на OS X. Как обновить все установленные бочки?
macos
homebrew
homebrew-cask
enrico.bacis
источник
источник
~/Library/Application Support/Brackets/extensions/user
, и они должны сохраняться при всех обновлениях. Системные плагины действительно хранятся в комплекте приложенийBrackets.app/extensions/default
, и они теряются при замене комплекта приложений, но самый простой способ - просто скопировать плагины из старого комплекта в новый.brew cask upgrade
объединенные 15 коммитов в Homebrew: masterbrew cask uninstall my-cool-cask
потомbrew cask install my-cool-cask
.Ответы:
Наконец-то появился официальный механизм обновления для Homebrew Cask (см. Раздел «Выпуск 3396» )! Чтобы использовать его, просто запустите эту команду:
brew cask upgrade
Однако это не приведет к обновлению бочек, не имеющих информации о версиях (
version :latest
), или приложений, имеющих встроенный механизм обновления (auto_updates true
). Чтобы переустановить эти бочки (и, следовательно, обновить их, если обновления доступны), запустите команду обновления с--greedy
флагом, подобным этому:brew cask upgrade --greedy
источник
brew cask outdated | xargs brew cask reinstall
только для переустановки устаревших бочек.brew cask outdated
выводятся только имена приложений, для которых не включено «автообновление». Чтобы обновить ВСЕ приложения, которые устарели, используйтеbrew cask outdated --greedy --verbose | grep -v '(latest)' | awk '{print $1}' | xargs brew cask reinstall
доморощенная-бочка-обновление
Я думаю, что это лучшее решение для модернизации бочек.
источник: https://github.com/buo/homebrew-cask-upgrade
Установка и использование
(Необязательно) Принудительное обновление устаревших приложений, в том числе отмеченных как последние:
источник
Список установленных бочек можно перечислить с помощью:
И принудительно переустановите бочку с помощью:
Таким образом, передавая вывод первой команды во вторую, мы обновляем все бочки:
источник
Bash скрипт для обновления пакетов
вдохновленный ответом Паскаля
Что оно делает
brew cask info
для самой новой версииисточник: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
один лайнер для нетерпеливых:
сохранить как
/usr/local/bin/cask-upgrade
, так что вы можете запустить его локально, какcask-upgrade
позжеисточник
brew cask info $cask | grep "Not installed"
?$ brew cask info $cask | grep "Not installed"
выдает ошибкуError: This command requires a Cask token
for cask in ${casks[@]}; do
smacks head
очевидно! не могу поверить, что я не уловил это.По состоянию на декабрь 2017 года использование: обновление бочки
[УСТАРЕЛО с декабря 2017 года, когда Homebrew ввел команду обновления для бочки]. Я просто использую следующее:
источник
awk '{print $1}'
между ними.Вот функция, которую я написал для обработки этого. Обратите внимание, что лично я не хотел, чтобы он просто вслепую переустанавливал все, так как некоторые из бочек, которые я использую, требуют времени для установки или требуют дополнительных подсказок.
источник
Основываясь на ответе @Atais, я усовершенствовал его логику во что-то более приятное. Мне нужен был способ проверить пакеты, которые нужно обновить, прежде чем приступать к принудительному обновлению.
$ brew-cask.sh
просто перечисляет вывод, похожий на Homebrew'sbrew update
.✔
ожидающие обновления.$ brew-cask.sh upgrade
принудительно обновит эти пакеты.Код:
просто установите его (он же мне нужен сейчас!)
Это проверено в моем
.dotfiles
репо ; Итак, вы можете быстро установить его в~/bin
:Тогда используйте это так:
Если у вас нет
~/bin
пути, добавьте префикс~/bin/
к приведенным выше утверждениям.источник
brew cask upgrade
Эта
upgrade
команда была недавно введена в Homebrew Cask и должна исключать все другие ручные методы, описанные в других ответах.источник
Я думаю, используя
сделает свое дело. Это также поможет удалить предыдущую версию (и) приложения и установит более новую версию.
источник
brew cask reinstall `brew cask outdated`
улучшая предоставленный код от deinspanjer, я попытался имитировать команду noop, очень похожую на команду из chocolatey ( обновление choco --noop / choco устарело ).
https://git.io/vgjiL
Как видите, я использую модульный подход, поскольку мой вариант использования немного отличается. Я не хочу сидеть перед моим компьютером и вводить да / нет для каждого приложения, которое я установил. Хотя нет реального способа обновления бочек (просто переустановите последнюю версию), я сначала делаю brew update, чтобы получить информацию о том, что обновления действительно доступны .
Затем я перебираю все бочки, чтобы отобразить их информацию. Поскольку раньше я делал brew update, теперь одному предоставляется информация о том, что последняя версия некоторых бочек не установлена.
Внутри моего метода обновления я фактически анализирую команду info для этой конкретной строки:
Что означает: «Дайте 3 строки выше информации, предоставленной всякий раз, когда вы читаете строку« не установлено ». Затем удалите любую строку, содержащую ссылку в ней, а также удалите строку, содержащую«: »в ней».
Учитывая структуру команды brew cask info, мы получаем одну строку (без информации о версии, без URL-адреса приложения), которая отражает фактическое имя контейнера, с которым оно также было установлено.
вывод информации о бочке
В моей версии эта информация теперь распечатана, поэтому можно легко увидеть, какие бочки устарели и могут быть обновлены.
На данный момент я делаю переключение случая, потому что, может быть, сейчас не хватает времени, чтобы обновить вещи. Это зависит от вашего варианта использования. Что касается меня, я иногда просто хочу посмотреть, что нового (ожидание новой версии, исправление ошибки), но на самом деле у меня нет времени на обновление, потому что сейчас я не хочу закрывать свой браузер и т. Д.
Поэтому, если выбрано «да», список очищенных имен контейнеров передается в функцию обновления, где для каждого контейнера, который был определен как устаревший, выдается переустановка.
Еще раз спасибо deinspanjer, пытаясь решить эту проблему для себя, я всегда забывал заранее выпускать обновление brew, так что там не было строки «не установлено», чтобы фактически разобрать (основа всего моего подхода).
Я надеюсь, что это было полезно.
источник
Я сделал такой скрипт сам. Пожалуйста, посмотрите на github https://github.com/pesh1983/brew_cask_upgrade . У него довольно хорошее описание, но если у вас есть дополнительные вопросы, не стесняйтесь их задавать. Обновление справедливо: удалите и установите, поэтому любая необходимая очистка будет выполняться самим brew.
источник
источник
устаревшие бочки:
обновить бочку:
демонстрационный скрипт:
источник
Проверьте устаревшие бочки:
Обновление всех устаревших бочек:
Если вы хотите обновить конкретную бочку, просто добавьте имя бочки после обновления (например: 4k-video-downloader):
источник
Основываясь на том, что я прочитал, я создал скрипт, который создаст файл со списком файлов, которые будут обновлены, включая приложения, которые определены как последние. Затем вы можете изменить файл в соответствии с вашими требованиями и установить обновления, используя мой скрипт olinst.
Для получения дополнительной информации посетите мой GitHub.
https://github.com/pacav69/caskroom-offline-install
источник
Это действительно раздражало меня, поэтому я создал этот скрипт, чтобы обновить все приложения Brew и позволить пользователю выбирать, какие приложения Cask обновлять. Вы также можете исключить приложения из рассмотрения.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
источник
я использую
источник