Apple silicon 平台安装 x86_64 架构应用包
最近开发工作中需要在 Apple Silicon 平台中交叉编译 x86_64 的包,因为有 x86_64 的库依赖需要安装,就想到了使用 homebrew 进行安装,就是本文内容了。
主要会用到:
- Rosetta
- Homebrew
前言
你能找到这篇文章,想必你是了解现在 macOS 平台下应用(比如 APP)的分类:
- Universal(通用)
- Apple Silicon(Apple 芯片)
- Intel
以 App 为例,我们可以找到一个 app,看一下它的信息就能知道这个 app 是哪种分类:
Safari 就是通用的,钉钉是Apple 芯片的,图压是Intel的,其实 Intel 就是 x86_64 架构的。
尽管我们在 Apple Silicon 的平台(比如我使用的是 M1 Pro 的 MBP)使用默认方式安装的 homebrew 是无法正常安装 x86_64 架构的应用,但我们又想通过 homebrew 的方式安装,下面就开始搞起!
安装 Rosetta 2
一行命令搞定:
/usr/sbin/softwareupdate --install-rosetta
为 universal 或者 Apple Silicon 应用安装 Homebrew
按照官方的方式安装即可,比如:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
通常使用这个会安装到 /opt/homebrew/bin/brew
。
使用 homebrew:
brew install xxx
brew list
为 Intel 应用安装 homebrew
这是本文重点,通常在 Intel 的 macOS 下,brew 会安装到 /usr/local/homebrew
下,我们手动安装一下:
# 下载 homebrew
cd ~/Downloads
mkdir homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
# 移动到目标位置
sudo mv ~/Downloads/homebrew /usr/local/homebrew
修改 shell 配置文件,bash 就修改 ~/.bashrc
,zsh 的话就修改 ~/.zshrc
,在最后添加以下内容:
# 修改 PATH 变量
# for intel x86_64 brew
export PATH=$HOME/bin:/usr/local/bin:$PATH
# 建立别名
alias xbrew='arch -x86_64 /usr/local/homebrew/bin/brew'
重新开启新的终端,就可以使用 xbrew 安装 x86_64 的软件或库了。
使用 homebrew:
xbrew install xxx
xbrew list