M1芯片Mac使用brew命令为何需添加arch -arm64前缀?
M1芯片Mac上brew需加
arch -arm64前缀的原因及是否正常 背后原因
- 架构适配差异:M1/M系列芯片是ARM64架构,早期部分Homebrew软件包还未完成ARM原生适配,再加上如果你的终端默认通过Rosetta 2运行(模拟x86_64架构),直接执行
brew install会调用x86版本的Homebrew,这类版本在处理ARM专属依赖时容易出错。arch -arm64前缀的作用就是强制命令以ARM64原生架构运行,调用适配ARM的Homebrew版本。 - Homebrew安装路径区别:ARM原生版Homebrew默认安装在
/opt/homebrew,x86版则在/usr/local。如果终端处于Rosetta模式,系统PATH会优先加载/usr/local/bin下的x86版brew,这时候不加前缀就会用错版本,导致安装失败或运行异常。
是否存在问题
这种现象本身完全正常,只是架构切换的临时解决方案。但长期用前缀太麻烦,建议直接把终端改成默认ARM模式:
- 右键Dock里的终端图标→「显示简介」,取消「使用Rosetta打开」的勾选,重启终端后,直接敲
brew就是原生ARM版本,不用再加前缀。 - 验证方法:终端里输入
arch,输出arm64就说明已经在原生ARM模式下了。
内容的提问来源于stack exchange,提问作者DecaffeinatedTreeBasement
相关产品推荐
相关产品推荐

