追記: 公式にbrew cask upgrade
コマンドが実装されました。こちらを使いましょう。
brew upgrade
ではhomebrew-caskでインストールしたapp達は更新されないので、次のfunctionで。
brew-cask-upgrade(){ for app in $(brew cask list); do local latest="$(brew cask info "${app}" | awk 'NR==1{print $2}')"; local versions=($(ls -1 "/usr/local/Caskroom/${app}/.metadata/")); local current=$(echo ${versions} | awk '{print $NF}'); if [[ "${latest}" = "latest" ]]; then echo "[!] ${app}: ${current} == ${latest}"; [[ "$1" = "-f" ]] && brew cask install "${app}" --force; continue; elif [[ "${current}" = "${latest}" ]]; then continue; fi; echo "[+] ${app}: ${current} -> ${latest}"; brew cask uninstall "${app}" --force; brew cask install "${app}"; done; }
bash, zshで動作確認済です。
更新のあったパッケージはアンインストール→インストールします。
brew-cask-upgrade -f
とするとバージョンがlatest
で固まっているパッケージも強制上書きします。