Xcode适配Intel/M1架构Homebrew路径的环境变量咨询
回答
你记忆没偏差,确实有这个专用变量,只是名字记错了:不是$HOMEBREWPATH,是$HOMEBREW_PREFIX。
这个变量指向当前设备上Homebrew的安装根目录,会自动适配设备架构:
- M1/M2等Apple Silicon芯片设备:返回值为
/opt/homebrew - Intel芯片设备:返回值为
/usr/local
你安装M1版Homebrew时看到的相关提示,是安装完成后提醒你把Homebrew初始化脚本加到Shell配置文件的说明。这个变量不会默认出现在全局系统环境里,只有当Shell加载了Homebrew的初始化脚本、或者执行brew相关命令时才会被自动赋值,这也是你后来搜不到相关资料的原因之一——再加上市面上"homebrew"本身就是家酿啤酒的词义,不带prefix、环境变量这类限定词搜索,很容易返回一堆无关的啤酒内容。
针对你遇到的Xcode构建找不到依赖的问题,不用给两台设备单独维护两套路径配置,用下面的方法可以一次适配双架构:
- 打开项目的Build Settings,新增一个自定义配置项,键名设为
HOMEBREW_PREFIX,值填$(shell brew --prefix),构建时Xcode会自动执行brew命令拿到当前设备对应的Homebrew根路径 - 把头文件搜索路径改成
$(HOMEBREW_PREFIX)/include,库搜索路径改成$(HOMEBREW_PREFIX)/lib
配置完成后,不管是Intel还是M系列芯片的设备,构建时都能自动定位到正确的依赖位置,不会再报找不到/opt路径下库的错误。
不要硬编码
/opt/homebrew或者/usr/local的固定路径,只要换架构设备拉代码构建,百分百会出路径不匹配的问题。
内容的提问来源于stack exchange,提问作者Maury Markowitz
相关产品推荐
相关产品推荐

