【Mac】brew提示arch -arm64 brew以及uname返回x86_64的问题
2023-12-14 11:33:47
背景
使用MacBook 14 M1 Pro两年了,自从使用了第三方Shell工具WindTerm
后,使用brew
时会提示我使用arch -arm64 brew
安装,一开始没太在意,直到今天朋友问我uname -a
返回的是什么架构,我才惊讶的发现竟然返回的是x86_64
~ uname -a
Darwin MacBook-Pro 22.3.0 Darwin Kernel Version 22.3.0: Thu Jan 5 20:48:54 PST 2023; root:xnu-8792.81.2~2/RELEASE_ARM64_T6000 x86_64
探索原因
- 经过
arch
、brew config
多个多个命令测试,确认当前环境为x86_64
。 - 经测试发现使用
WindTerm
,默认的zsh架构为x86_64
,使用系统自带的终端APP架构则为arm64
。 - 检查发现
WindTerm
为x86
架构程序,而系统中的zsh
是一个universal(通用二进制)程序,本身会包含两种指令集程序,可以采用任意一种架构执行。
? ~ file /bin/zsh
/bin/zsh: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/bin/zsh (for architecture x86_64): Mach-O 64-bit executable x86_64
/bin/zsh (for architecture arm64e): Mach-O 64-bit executable arm64e
结论
WindTerm
由于是x86架构的app,默认会使用x86架构的zsh执行,可以直接指定使用arm版本的zsh
即可。
命令:/usr/bin/arch -arm64 /bin/zsh --login
由于WindTerm可以直接指定Shell路径,所以可以直接定义Shell的启动路径为带参数的arch,进而直接使用arm版本的shell,配置方式见下图
通过上面两步配置,即可完成进入arm Zsh的配置。
文章来源:https://blog.csdn.net/j326214730/article/details/134866248
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!