事件起因:
最近淘了一台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的芯片和应用程序能够更好地互相适配把。