【Mac】brew提示arch -arm64 brew以及uname返回x86_64的问题

背景

使用MacBook 14 M1 Pro两年了,自从使用了第三方Shell工具WindTerm后,使用brew时会提示我使用arch -arm64 brew安装,一开始没太在意,直到今天朋友问我uname -a返回的是什么架构,我才惊讶的发现竟然返回的是x86_64

shell 复制代码
~ 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

探索原因

  1. 经过archbrew config多个多个命令测试,确认当前环境为x86_64
  2. 经测试发现使用WindTerm,默认的zsh架构为x86_64,使用系统自带的终端APP架构则为arm64
  3. 检查发现WindTermx86架构程序,而系统中的zsh是一个universal(通用二进制)程序,本身会包含两种指令集程序,可以采用任意一种架构执行。
shell 复制代码
➜  ~ 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的配置。

相关推荐
星辰即远方13 小时前
天气预报总结
macos·ios·objective-c·cocoa
xixiaoyunya13 小时前
Mac远程访问新范式:基于80KM穿云箭的内网穿透技术实践
macos
秋雨梧桐叶落莳15 小时前
计算器仿写总结
学习·macos·ios·objective-c·cocoa
Dlrb121118 小时前
ARM---IMX6ULL 的 PWM 模块介绍及其程序的编写
arm开发·arm·pwm·imx6ull·lcd屏幕
寒水馨1 天前
macOS下载、安装uv-0.12.0(附安装包uv-aarch64-apple-darwin.tar.gz)
python·macos·rust·项目管理·包管理器·astral·pip替代
凉、介1 天前
Armv8 原子性:体系结构保证与编程语义
linux·学习·嵌入式·arm·原子操作·atomic
寒水馨1 天前
macOS下载、安装protobuf-v35.1(附安装包protoc-35.1-osx-universal_binary.zip)
macos·google·grpc·序列化·protobuf·protoc·数据交换
寒水馨1 天前
macOS下载、安装ripgrep-15.2.0(附安装包ripgrep-15.2.0-aarch64-apple-darwin.tar.gz)
macos·正则表达式·rust·ripgrep·rg·命令行搜索·代码搜索
起司喵喵2 天前
Flutter-MacOS桌面OS系统|flutter.+window_manager客户端OS模板
flutter·macos·策略模式
代码对我眨眼睛2 天前
macOS Google Chrome 常用快捷键
前端·chrome·macos