使用命令行批量更新macOS软件

Author Avatar
陈高勋 10月 10, 2017
  • 在其它设备中阅读本文章

嗯,就是想用命令行一键更新所有的软件,消除各种红点!

使用OS X(macOS)之后极大的满足了我折腾管理软件的诉求。从最开始的搭建python环境接触到 Homebrew,再到使用 Homebrew-Cask 让 iTerm 和 Typora 等软件保持最新版本,最后在 少数派 学会了用 mas 更新Mac App Store的所有软件,一路折腾下来,终于可以使用命令行让mac绝大部分的软件保持最新版(确实强迫症)。下面就是完整的折腾记录。

利用Homebrew管理程序包

Homebrew (以下简称 brew)是macOS系统下最著名的包管理软件,可以轻松的通过命令行安装程序包,并且还可以轻松的解决包的依赖问题。brew 的作者提供了简洁的安装教程,教程传送门

安装 brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

对于安装新的程序包,我们可以使用 brew install 加上安装包的名字实现一键安装。

brew install package-name

通常我们可以使用如下命令一键更新本地的程序包到最新版本。

brew update && brew upgrade

如果碰巧你的 brew 更新缓慢,可以试试让 brew 走代理更新程序包。

echo export ALL_PROXY=socks5://127.0.0.1:your_port_number >> ~/.bash_profile

软件管理利器:Homebrew-Cask

看名字应该能猜到 Homebrew-Cask (以下简称Cask)是 Homebrew 的衍生品,可用来管理非App Store下载的软件。

安装 Cask

brew tap caskroom/cask

有了 Cask 安装软件变得很简单,只需要 brew cask install 加上软件的名称即可。

brew cask install software-name

我们还可以通过查找功能,找到我们想下载的软件名。

brew cask search chrome

Cask 自带的更新方式比较麻烦,需要先删除软件包,再安装,以保证软件版本是最新,显然这是不推荐的。

brew cask uninstall software-name && brew cask install software-name

几经周折,找到了一个不错的方案:buo/homebrew-cask-upgrade 。安装该方案也很方便,命令行输入:

brew tap buo/cask-upgrade

现在可以一键更新所有的通过 Cask 安装的软件:

brew cu -a

mas:一键升级Mac App Store

通常我们更新macOS的应用都是通过Mac App Store来更新,但对于不想打开 Store 的人来说 mas 是一个不错的选择,可以通过命令行方便的更新应用。

安装 mas 的前提是拥有 brew 的环境,前文已经讲到如何安装 brew

安装 mas

brew install mas

一键更新所有的 Store 应用:

mas upgrade

总结

在拥有了以上三种工具之后,现在可以通过一条命令,更新所有的程序包和软件:

brew update && brew upgrade && brew cu -a -y && mas upgrade

红点再见。

但不得不说让所有软件保持在最新版本是一件冒险的事情,虽然保证了能体验到最新的功能和特性,但也承担了不稳定的风险。所以按需更新,使用要谨慎!


感谢以下文章,给我提供的帮助和灵感:

少数派:终端上的 Mac App Store「mas」让应用的安装与更新无比轻松

落格博客:让 Homebrew 走代理更新