brew如何利用switch命令切换本地软件版本?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔讲述一个brew switch命令,可以用于切换某个软件的版本(号)。这个需求是比较罕见的,而且在实践使用过程中,也不是那么好用,前提条件也比较多。但是,不乏是个备选方案。

本文的测试过程是:使用brew switch命令,切换mac里面的openssl版本。测试环境:mac,openssl@1.1.1d,brew。
update 221124:
最新版本的brew中,已经brew switch command not found了。目前已经不存在brew switch命令了,请使用brew extract代替。
查看可切换的软件及版本
基本命令是:
brew switch <name> <version>目录/usr/local/Cellar/下就是可以用于切换的软件名称,也就是上述命令中的<name>,而进入<name>文件夹之后,再次出现的数字目录名,就是可选的版本号部分。

出现在这个/usr/local/Cellar/目录下的话,按理说都应该是在不同时期,通过brew install <name>来安装的各种组件。比如openssl,系统默认自带的应该是1.0.0r系列,而目前最新的是1.1.1d系列。两者可能同时共存于目录/usr/local/Cellar/openssl/中。
目前来看的话,openssl的早期版本,目前没有什么好的brew渠道可以进行安装。
查看可用版本
本地安装了<name>的那些版本呢?可以手动去/usr/local/Cellar/<name>/下去看,也可以主动去触发brew switch的错误提示,就可以显示有那些可用版本了。

这里需要注意的是:对于brew switch来说,php和php@5.6是两个目录,两个软件。这个和大家的常规认识是不一样的。
具体实例
下面的是两个具体的命令执行结果例子,仅供参考:
brew switch openssl 1.0.2rError: openssl does not have a version "1.0.2r" in the Cellar.
openssl's installed versions: 1.1.1dbrew install opensslUpdating Homebrew...
Warning: openssl@1.1 1.1.1d is already installed and up-to-date
To reinstall 1.1.1d, run `brew reinstall openssl@1.1`相关文章
- brew link: https://newsn.net/say/brew-link-php71.html
- brew doctor: https://newsn.net/say/brew-updating-homebrew.html
- brew services: https://newsn.net/say/brew-services.html
总结
brew在mac系统下,是非常好用的。建议大家多多掌握它的使用方法。更多苏南大叔的brew文章,请点击: