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


当前回答

brew list --cask | xargs brew upgrade

这循环通过所有应用程序安装的酿造桶和升级他们一个在时间。

brew upgrade --cask

对我已经没用了。

其他回答

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

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

brew cask outdated | xargs brew cask reinstall

这真的让我很恼火,所以我创建了这个脚本来更新所有的Brew应用程序,并允许用户选择更新哪个Cask应用程序。你也可以将应用程序排除在外。

https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh

这是我写的处理这个的函数。注意,我个人不希望它只是盲目地重新安装所有东西,因为我使用的一些桶需要一段时间才能安装或需要额外的提示。

brew_cask_upgrade() { 
  if [ "$1" != '--continue' ]; then 
    echo "Removing brew cache" 
    rm -rf "$(brew --cache)" 
    echo "Running brew update" 
    brew update 
  fi 
  for c in $(brew cask list); do 
    echo -e "\n\nInstalled versions of $c: " 
    ls /opt/homebrew-cask/Caskroom/$c 
    echo "Cask info for $c" 
    brew cask info $c 
    select ynx in "Yes" "No" "Exit"; do  
      case $ynx in 
        "Yes") echo "Uninstalling $c"; brew cask uninstall --force "$c"; echo "Re-installing $c"; brew cask install "$c"; break;; 
        "No") echo "Skipping $c"; break;; 
        "Exit") echo "Exiting brew_cask_upgrade"; return;; 
      esac 
    done 
  done 
} 

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

可以列出已安装的桶:

brew cask list

并强制重新安装桶与:

brew cask install --force CASK_NAME

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

brew cask list | xargs brew cask install --force