我使用Homebrew Cask在OS x上安装应用程序,如何升级所有已安装的Cask ?


当前回答

Bash脚本升级包

受到帕斯卡答案的启发

#!/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

它的作用

更新酿造/酿造桶,清理 读酒桶清单 检查酿造桶信息的最新版本 如果可用,请安装新版本(并删除所有旧版本!)

来源: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/桶-upgrade,以便稍后在本地以桶-upgrade的形式运行

其他回答

酿造桶升级

升级命令最近已经在Homebrew Cask中引入,应该不建议使用其他回答中描述的所有其他手动方法。

可以列出已安装的桶:

brew cask list

并强制重新安装桶与:

brew cask install --force CASK_NAME

因此,将第一个命令的输出输出到第二个命令中,我们更新了所有的桶:

brew cask list | xargs brew cask install --force

带有'auto_updates'或'version:latest'的桶将不会升级;通过——贪婪地升级它们:

brew upgrade --cask --greedy

截至2017年12月使用: 酿造桶升级

[自2017年12月Homebrew为桶引入升级命令以来已弃用] 我简单地使用以下方法:

brew cask outdated | xargs brew cask reinstall

我和鱼壳打交道。 所以我使用:brew upgrade (brew list—cask)。 这对我很管用。