Mac M1/M2下解决brew 安装Rust问题
背景介绍
在Mac系统上,我们可能会遇到Rust安装问题,特别是在搭载M1/M2芯片的设备上。这些芯片基于ARM架构,与传统的Intel x86架构不同。Rust的依赖之一,llvm,可能在ARM架构下出现兼容性问题。本文将介绍如何在Mac上解决这一问题。
问题原因
- 架构差异:M1/M2芯片基于ARM架构,而传统的Mac使用的是Intel x86架构。由于llvm在ARM架构下的兼容性问题,使用Homebrew安装Rust时可能会遇到困难。
- 兼容性问题:macOS 11 Big Sur 在 Apple Silicon 上的兼容性问题 详细描述了在Apple Silicon上使用Homebrew可能遇到的问题。
解决方法
1. 卸载brew
如果您已经安装了国内的Homebrew版本,首先需要将其卸载。可以通过执行以下命令来完成:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
注意:
请先查看一下/usr/local
目录下是否也有brew 安装的东西
如果有请再执行一下卸载命令
如果提示权限不够需要手动执行删除命令
sudo rm -rf /usr/local
2. 升级Rosetta
为了在ARM架构的Mac上安装x86架构的软件,我们需要使用Rosetta。可以通过以下命令升级Rosetta:
softwareupdate --install-rosetta
3. 使用国内源安装Homebrew
接下来,我们需要使用国内源重新安装Homebrew。执行以下命令:
# 使用x86架构
arch -x86_64 bash
# 安装brew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
4. 配置别名
安装完成后,我们需要配置一个别名,以便安装x86架构的软件包。在~/.zprofile
文件的末尾添加以下内容:
alias xbrew='arch -x86_64 /usr/local/Homebrew/bin/brew'
5. 安装x86版本的llvm
最后,使用配置好的别名安装x86架构的llvm:
xbrew install llvm
总结
通过以上步骤,我们可以在搭载M1/M2芯片的Mac设备上解决Rust安装问题。关键在于使用Rosetta和国内源的Homebrew来安装x86架构的依赖,从而确保软件兼容性。 希望这篇文章能帮助到遇到类似问题的用户。如果您有任何疑问或需要进一步的帮助,请随时提问。
参考
在 M1 芯片 Mac 上使用 Homebrew - 少数派 (sspai.com)
转载自:https://juejin.cn/post/7351700046486405129