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的芯片和应用程序能够更好地互相适配把。

相关推荐
潜龙95271 小时前
第4.3节 iOS App生成追溯关系
macos·ios·cocoa
玄辰星君10 小时前
【MAC】nacos 2.5.1容器docker安装
macos·docker·nacos
atwdy15 小时前
MacOS安装linux虚拟机
linux·运维·ubuntu·macos·utm
echola_mendes16 小时前
Dify:在MacOS系统下Dify的本地部署与使用
macos
Tim风声(网络工程师)16 小时前
如何通过mac的前24bit,模糊确认是那一台什么样的设备
运维·服务器·网络·macos
菜鸟555551 天前
河南萌新联赛2025第一场-河南工业大学
macos·objective-c·cocoa
名字不要太长 像我这样就好2 天前
【iOS】源码阅读(六)——方法交换
开发语言·macos·ios·objective-c·cocoa
Digitally2 天前
轻松将文件从 iPhone 传输到 Mac
macos·ios·iphone
小诸葛的博客2 天前
mac电脑无法阅读runc源码
macos·策略模式
Java与Android技术栈3 天前
macOS 为 Compose Desktop 构建跨平台图像库:OpenCV + libraw + libheif 实践
人工智能·opencv·macos·计算机视觉