如何在 mac 上禁用 Apple 的 LLVM

How to disable Apple's LLVM on mac

我开始学习 Mix IDE,问题是,在编译 Mix IDE 时,它总是无法编译包中的源代码。所以我做了一些搜索,结果发现我需要使用旧版本的 llvm。所以我使用 home-brew 安装了 llvm37,安装时没有问题。唯一的问题是当我输入

clang --version

它一直返回以下结果。

Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

因此,我需要知道如何禁用默认的 LLVM 并使用我用 Homebrew 安装的那个。有什么想法吗?

您有多种选择:

修改路径

将 Homebrew 的二进制路径放在其他所有内容之前:

export PATH=/usr/local/bin:$PATH

正在卸载 Xcode 命令行工具

这将删除随 Xcode 提供的命令行工具。

sudo /Developer/Library/uninstall-devtools --mode=all

如果安装的命令行工具没有 Xcode,请参阅 this question。请注意,Homebrew 可能依赖于其中一些工具,并且可能会停止运行!我没有测试。

设置所需的编译器

这是最干净的解决方案。告诉 Mix IDE 的构建系统使用哪个编译器。由于我不知道 Mix IDE 使用哪个构建系统,因此我无法告诉您如何操作。一些构建系统支持 CCCXXCPP 环境变量,因此将它们设置为随 Homebrew 安装的 clang 二进制文件可能会起作用。