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

相关推荐
爱吃香蕉的阿豪20 小时前
Mac 远程操作 Windows 开发:ZeroTier + JetBrains 实战指南
windows·macos·zerotoer
大嘴皮猴儿1 天前
从零开始学商品图翻译:小白也能快速掌握的多语言文字处理与上架技巧
大数据·ide·人工智能·macos·新媒体运营·xcode·自动翻译
空中海2 天前
第六章:iOS导航与路由系统
macos·ios·cocoa
空中海2 天前
第九章:iOS系统框架与能力
macos·ios·cocoa
大棉花哥哥2 天前
MAC下JADX+MCP+OpenCode自动APK逆向分析
macos·ai
空中海2 天前
第八章:iOS并发编程
macos·ios·cocoa
算是难了2 天前
macOS常用终端命令
macos
小码过河.2 天前
本地端侧GUI智能体自动化操作电脑Mano-P:macOS版本安装与使用全指南
macos·ai·自动化
空中海2 天前
第十章:iOS架构设计与工程化
macos·ios·cocoa
香蕉鼠片2 天前
跨平台开发到底是什么
linux·windows·macos