文章目录
写在前面
最近入手一台8+256m1Mac Book air,想用来做主力机,于是先配置一些基本的环境。下面主要说Mac上的包管理器Homebrew,折腾了好久,终于明白了brew的安装方法。
之前折腾过一段时间的Ubuntu双系统,所以对于类Unix系统及bash有一点了解,加上Mac神奇的人性化设计,感觉这台air还是很值得体验的。一开始感觉有很多软件不能运行,后来发现只要command+I
显示简介,勾选(如果有)Rosetta运行,就能打开了。后来还发现了这样一个很棒的网站www.macwk.com,收集很多Mac上的精美软件,是否支持m1芯片等分类做的也很好,对我这种Mac新手很是友好。
Homebrew本地编译版安装
由于原生版本(beta)的brew已经发布,正好看到国外有位大佬的博客上面有详细的多平台版本brew配置1,在这里先借鉴一下.后来发现在官方文档中也有此命令2。
首先打开终端,运行下面的命令:
第四步是brew从git仓库下载源码解压并进行本地编译,网速快的话也不会等太久(我这里用了大概5分钟),注意这里安装的brew就是原生版本了,但是很多软件还只能在x86下运行,所以还需要安装Rosetta2转译版本的brew。
上面的brew安装在了系统的
/opt/homebrew
目录中,这也是brew官方建议的安装目录,这样可以和下面的转译版区分开。
Homebrew Rosetta2转译版安装
这里面的坑就比较多了,国内由于无法访问raw.githubusercontent.com
,官网提供的命令
也不能使用。但是没关系,我们可以通过修改国内源镜像的方式加快访问速度。在这里主要参考了3,虽然版本更新迭代很快,一些命令已经不能用了,但是这篇文章的思路给了我很大启发,下面具体来看。
首先需要将上面命令中的网址在浏览器打开,(可能需要一些🪜插件,ghelper就可以)全选复制保存为install.sh
文本文件,然后编辑器打开,这里需要修改三个地方:
将上面的网址换成(中科大镜像网址):
P.S.: 可能新版安装命令会有变化,但是思路不变,就是替换网址。需要注意后面的对应关系,即homebrew-core,linuxbrew-core,brew这三个,可以直接在镜像站查看并复制链接。
保存后(我将其保存到桌面了),在终端运行(arch -x86_64
意思是采用Rosetta2方式运行命令):
就可以等待安装完成了。
设置环境变量
然后vim ~/.zshrc
,打开zsh的配置文件(Mac big sur终端已经换成zsh shell ),将下面的两行添加到配置文件:
之后进入终端,输入source ~/.zshrc
,就能在终端中使用brew了,建议还是先在GitHub主页的issue中(macOS 11 Big Sur compatibility on Apple Silicon #7857)查看一下是否有arm版本的软件,再用brew
命令进行安装,否则还是ibrew
吧。
然后需要验证一下:
如果显示为
就说明安装位置对了(用which brew
也可以显示)。
安装包只需终端执行(大多软件包还未适配,所以这里用ibrew
):
就可以了。
换源
由于安装包都是从GitHub下载的,访问速度比较慢,下面以中科大的brew源为例提高brew安装包的速度,这里还是参考了3。
直接在终端执行:
即可。可以使用如下的命令查看源:(brew的话:去掉i即可)
更新源后的结果如下:
结语
- 在使用本地编译版brew安装软件(更换源后),可能会出现SHA256不匹配、软件的安装目录不对等问题,这里还是建议先查询一下GitHub的issue(macOS 11 Big Sur compatibility on Apple Silicon #7857),比如brew安装优化版的numpy的时候就会有SHA256的error出现,这时候采用ibrew安装就不会出现类似的问题,之后我会更新一篇与python配置有关的文章。
- 一定要多用
which
命令查看当前使用的软件是在哪里,/opt
的话就是在本地编译版中,/usr
就是在Rosetta2转译版中,防止使用时有未知错误发生。。 - 之后随着开发者的努力,brew肯定会完全适配m1,最新(2020.12.27)的issue在这里(Apple Silicon support in Homebrew #10152,里面介绍可以使用
brew install -s foo && brew test foo
进行源码编译方式的安装。 - Homebrew Formulae that are reported to support Apple Silicon,这个网址可以很方便地查询brew包的支持情况。
主要参考
- Homebrew on Apple Silicon; ↩︎
- Homebrew Documentation. ↩︎
- homebrew最新国内源安装方法(2020年3月) ; ↩︎ ↩︎