mac m1: bad cpu type in executable

事件起因:

最近淘了一台mac电脑,但是要使用grpc的protoc的时候却显示了如下的提示:

复制代码
zsh: bad CPU type in executable

本来以为是因为protoc不是为aarch 64构建的因此无法运行,因为文件目录确实是在x86_64文件夹下。于是就去下载aarch的protoc,结果还是一样的问题。

解决方案:

由于当macOS尝试运行不是Apple silicon构建的应用程序时,就会自动将应用程序转换成Apple Silicon,但是在终端中貌似没有对应的作用。如果要运行以前旧的x86_64的二进制文件,需要手动指定arch,这时候我们直接指定zsh为旧的x86_64

复制代码
arch -x86_64 zsh

这个命令可以将现有的zsh终端切换到x86_64,这样执行后,原先的x86_64应用就可以使用了。

希望未来 Apple silicon的芯片和应用程序能够更好地互相适配把。

相关推荐
一个小浪吴啊5 小时前
MacOS/Linux/Windows 跨平台一键安装OpenCode指南
linux·windows·macos·opencode
小草cys5 小时前
最简单:一根网线直连,mac mini Windows 控制 Mac mini mac
windows·macos·局域网直连
白玉cfc6 小时前
OC底层原理:alloc&init&new
c++·macos·ios·objective-c·xcode
Mike_detailing7 小时前
资源分享:VMware-Fusion-25H2u1 和 arm版本win11
macos·arm·虚拟机
承渊政道8 小时前
【递归、搜索与回溯算法】(掌握记忆化搜索的核心套路)
数据结构·c++·算法·leetcode·macos·动态规划·宽度优先
REDcker8 小时前
跨平台编译详解 工具链配置与工程化实践
linux·c++·windows·macos·c·跨平台·编译
白豆五8 小时前
Mac平台安装Claude Code
macos
寂夜了无痕8 小时前
macOS 下 `ls: .: Operation not permitted
macos
库奇噜啦呼1 天前
【iOS】内存对齐原理
macos·ios·cocoa
子沫20201 天前
mac下载VMware Fusion
macos·mac·vmware fusion