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.2r
Error: openssl does not have a version "1.0.2r" in the Cellar.
openssl's installed versions: 1.1.1d
brew install openssl
Updating 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
文章,请点击:


