(图片来自:www.wisdomgeek.com)
这段时间在新 Mac 上安装软件遇到了很多兼容性问题,后来发现是只安装 arm64 版本的 homebrew 根本无法满足目前的需求,这里记录下我是如何让电脑同时安装支持 x86_64 和 arm64 两种架构的 homebrew。
安装 Rosetta
这是苹果开发的用于兼容 x86 架构软件的软件
1 | /usr/sbin/softwareupdate --install-rosetta |
安装 Homebrew
x86_64 和 ARM64 版本的 homebrew 的安装目录是不一样的
x86_64 安装目录:/usr/local/homebrew
ARM64 安装目录:/opt/homebrew
1. 安装 arm64 (M1) 版本
使用常用的终端,我这里使用 iTerm2
,执行下列命令
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
2. 安装 x86_64 版本 homebrew
配置 Rosetta Terminal
使用不常用的终端,我这里使用系统自带的 终端
。
在 Finder 找到 终端
,右击选择 简介
, 勾选☑️使用Rosetta打开
。
因为我平时工作使用的是 iTerm2
,所以这里把不常用的 终端
设置成 Rosetta 模式。
在终端下安装 homebrew
1 | arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
如果这个方法不行,可以试试这个:
1 | arch -x86_64 zsh |
使用
未来需要安装软件时可以这样兼容不同版本:
我一般首选 arm64 安装:
比如安装 redis
1 | /opt/homebrew/bin/brew install redis |
安装 x86_64 使用这样的命令:
1 | arch -x86_64 /usr/local/homebrew/bin/brew install redis |
快捷命令
文件 ~/.brew_arm
1 | eval "$(/opt/homebrew/bin/brew shellenv)" |
文件 ~/.brew_intel
1 | eval "$(/usr/local/homebrew/bin/brew shellenv)" |
将下面代码加入到 .zshrc
1 | # homebrew |
切换命令:
1 | brew_intel # 切换到 x86_64 |
参考
https://www.wisdomgeek.com/development/installing-intel-based-packages-using-homebrew-on-the-m1-mac/