处理homebrew 无法在M1芯片的Mac上安装软件的问题。这是在新的M1芯片的MacBookpro中,在使用homebrew安装CocoaPods遇到的问题。
为了不翻墙也能很好的使用,所以采用是国内镜像的安装方式。
首先,使用国内镜像安装homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
执行之后的结果是
开始执行Brew自动安装程序
...
请选择一个下载镜像,例如中科大,输入1回车。
源有时候不稳定,如果git克隆报错重新运行脚本选择源。cask非必须,有部分人需要。
1、中科大下载源 2、清华大学下载源 3、北京外国语大学下载源 4、腾讯下载源(不显示下载进度) 5、阿里巴巴下载源(缺少cask源)
我一开始选择的是第2个,离的太远,网络还是跟不上,最后下载使用。重新执行上述命令选择镜像1,安装成功。
安装成功之后的提示:
Already up-to-date.
上一句如果提示Already up-to-date表示成功
Brew自动安装程序运行完成
国内地址已经配置完成
初步介绍几个brew命令
本地软件库列表:brew ls
查找软件:brew search google(其中google替换为要查找的软件关键字)
查看brew版本:brew -v 更新brew版本:brew update
现在可以输入命令open ~/.zshrc -e 或者 open ~/.bash_profile -e 整理一下重复的语句(运行 echo $SHELL 可以查看应该打开那一个文件修改)
使用 open ~/.zshrc -e
可以看到brew相关的环境变量配置。因为脚本默认安装将homebrew安装在了/usr/local
目录下,所以,环境变量所使用的PATH默认执行此目录。
当我们使用brew insatll something 的时候,在M1芯片的Mac中回报如下错误
Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
Please create a new installation in /opt/homebrew using one of the
"Alternative Installs" from:
https://docs.brew.sh/Installation
You can migrate your previously installed formula list with:
brew bundle dump
也就是说我们不能在ARM处理器中使用Intel的默认前缀/usr/local。请在/opt/Homebrew中安装。
如果我们一开始就把 homebrew安装到 /opt/homebrew 而不是 /usr/local就好了。但是安装脚本似乎没有提供修改安装路径的方式。所以,我想可以将安装目录从/usr/local迁移到/opt/homebrew即可。事实上这样做确实可以。
我的电脑是新电脑,/usr/local目录下还很纯洁,基本上都是之前安装homebrew产生的文件。
- 将/usr/local 目录下的所有文件移动到 /opt/homebrew 目录下
sudo mkdir /opt/homebrew
sudo mv /usr/local/* /opt/homebrew
- 修正/bin目录下的软连接
ln -s /opt/homebrew/Homebrew/bin/brew /opt/homebrew/bin/brew
- 修改环境变量
open ~/.zshrc -e
编辑此文件,将内容修改如下
# HomeBrew
export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles
export PATH="/opt/homebrew/bin:$PATH"
export PATH="/opt/homebrew/sbin:$PATH"
# HomeBrew END
主要是修改path路径。
上面3步,所有工作已经完工。
此时执行 brew -v 会提示找不到brew命令。这是因为在当前的shell中brew还是原来的环境变量,不知道改变后的brew在哪里。所以关闭shell重新打开,或者执行source ~/.zshrc
重新载入即可。
然后我们就可以使用homebrew安装需要的东西了。
在使用homebrew安装之前,要切换下源。因为默认的源实在太慢了,你可以ping一下试试。
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
> /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /opt/homebrew/sbin in PATH, mode 040777
> https://gems.ruby-china.com/ added to sources
> https://rubygems.org/ removed from sources
切换源之后,我们安装下cocopods
sudo gem install -n /opt/homebrew/bin cocoapods
很顺利就完成了。