Intel Mac运行rustup提示bad CPU type in executable报错
问题根因
从M1系列(arm64/aarch64架构)Mac跨架构迁移系统备份到Intel(x86_64架构)Mac后,本地留存的rustup及整套Rust工具链均为Apple Silicon适配版本,和Intel芯片的x86_64指令集不兼容,因此触发zsh: bad CPU type in executable: rustup报错。原有~/.cargo/config内的配置是针对aarch64架构的链接参数,在x86_64环境下不生效,是此前操作未解决问题的核心原因。
修复步骤
- 彻底清理旧版本不兼容的Rust残留文件:
优先在终端执行卸载命令:rustup self uninstall
如果因架构不匹配无法运行上述命令,直接手动删除Rust相关目录:rm -rf ~/.cargo rm -rf ~/.rustup - 刷新终端环境缓存:执行
source ~/.zshrc,如果仍提示路径异常,直接关闭当前终端窗口,打开新的终端会话操作。 - 安装适配Intel x86_64架构的原生Rust工具链:执行rustup官方安装脚本,安装过程直接回车选择默认配置即可。
- 安装完成后执行
source "$HOME/.cargo/env"加载新的环境变量,依次运行rustup -V、cargo -V,若正常输出版本号,说明基础环境已恢复可用。 - 修正配置项:打开
~/.cargo/config,删除原有仅针对aarch64-apple-darwin目标的配置段。如果没有跨架构编译Apple Silicon平台程序的需求,无需保留该段链接参数,避免后续编译时出现链接报错。
注意:不要通过Rosetta 2转译运行arm架构的Rust工具链,转译环境会出现随机链接错误、编译性能下降等问题,安装原生x86_64版本稳定性最高。
内容的提问来源于stack exchange,提问作者zaxme
相关产品推荐
相关产品推荐

