当前位置:   article > 正文

m1 Mac的brew包完全卸载方法_m1 brew unistall

m1 brew unistall

写在前面

最近由于一些brew原生包(本地编译包,如numpy、emacs等)相继发布,我也准备卸载intel版的brew下的一些包,转而拥抱m1优化版brew,但是卸载brew包的时候还有点小问题,那就是使用brew的命令uninstall的话不能完全卸载干净,经过一番折腾,我找到了彻底卸载brew包的方法。

完全卸载方法

首先需要安装一个包,需要用tap选项从GitHub站点中克隆源码,终端输入:

ibrew tap beeftornado/rmtree 
  • 1

速度应该很快的.

注意这里我用的是Rosetta2转译的brew,这个配置了镜像速度会快很多,但是有的包(例如numpy)速度就不如本地编译版的速度快。

然后使用如下命令卸载包即可(例如我需要卸载opencv):

ibrew rmtree opencv
  • 1

但是这里还有一个坑点,就是我执行这条命令的时候显示报错(后来发现这还是好的,至少没给我卸载了原生版brew安装的包):

rmtree Error: No available formula or cask with the name "opencv"
……
  • 1
  • 2

网上一顿查也没有合适的办法,后来静下心来慢慢想,才发现原来是环境变量设置的问题,还记得前面(m1 MBA配置Homebrew环境+国内源配置)我有提到,将两个brew都加到环境变量中,设置别名后就可以顺畅使用了:

export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
alias ibrew='arch -x86_64 /usr/local/bin/brew'
  • 1
  • 2

但是这样设置的话在使用rmtree卸载的时候就会有一个问题:brew默认的路径是/opt/homebrew/bin,这样rmtree在搜寻brew包安装位置的时候,就会先选择原生版brew的包,而原生版并未安装这些包,所以就会发生报错,但是上面我说这还是好的了,是因为如果原生版里面安装了这些包,那rmtree就直接给卸载了,原生版直接拷源码安装是需要很长时间的。。所以卸载需谨慎啊!!

解决方案也很简单,注释掉~/.zshrc中的环境变量,直接改成Rosetta2转译版的brew路径即可,即:

# export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
  • 1
  • 2

然后执行rmtree卸载,执行之后换回原来的brew环境变量即可。

建议在卸载时候先使用ibrew list看一下已经安装的包,然后再执行卸载,这样会安全点。

总结

遇报错固然最先想到百度报错信息,但是在搜索之前先仔细思考为什么会报错,才是更重要的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/505433
推荐阅读
相关标签
  

闽ICP备14008679号