是否可以在Mac OS X中安装和切换多个版本的命令行工具?我想知道是否可以使用xcode-select
但命令行工具安装程序没有选择安装目标的选项。我尝试通过手动重命名Library/Developer/CommandLineTools
然后将其传递给xcode-select
来创建多个安装。该命令成功,但当我尝试访问gcc时,我得到:
gcc: error: unable to find Xcode installation from active developer path "/Library/Developer/CommandLineTools_9.0.0", use xcode-select to change
在安装整个XCode时似乎可以这样做,但我不需要XCode,也不想安装它。我只需要命令行工具。
答案 0 :(得分:4)
我尝试做同样的事情,经过一些实验找到了下一个解决方案。是的,可以,但是您需要复制/重命名整个/Library/Developer
文件夹。例如:
1)首先,我只显示我的macOS版本:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.6
BuildVersion: 17G65
2)下载并安装Xcode的命令行工具,例如10b5版本
3)创建文件夹以存储不同版本的工具:
$ mkdir ~/Project/tools
$ mkdir ~/Projects/tools/Developer10b5
$ mkdir ~/Projects/tools/Developer9.4.1
4)复制整个Developer文件夹:
$ cp -R /Library/Developer/ ~/Project/tools/Developer10b5/
5),然后下载并安装Xcode的命令行工具,例如9.4.1版本
6)复制整个Developer文件夹:
$ cp -R /Library/Developer/ ~/Project/tools/Developer9.4.1/
7)切换到9.4.1版本的工具并检查clang版本:
$ sudo xcode-select -s ~/Project/tools/Developer9.4.1/
$ clang --version
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Users/<username>/Projects/tools/Developer9.4.1/CommandLineTools/usr/bin
8)切换到10b5版本的工具并检查clang版本:
$ clang --version
Apple LLVM version 10.0.0 (clang-1000.10.40.1)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Users/<username>/Projects/tools/Developer10b5/CommandLineTools/usr/bin
答案 1 :(得分:0)
对于那些像@ PaulMasri-Stone这样的问题,我发现删除以前安装的Xcode后(由于空间原因,我不能在计算机上安装Xcode的多个版本 ),上面的方法还给了我“无效的开发者目录”错误。
我通过输入sudo xcode-select -r
来重置为默认的命令行工具(并重置系统用来跟踪SDK位置的其他任何基础状态-以及缺少Xcode)来克服了这个问题,然后{ {1}}。请注意,{@ {1}}不会为我工作,就像@ PaulMasri-Stone遇到的问题一样。
否则,您将要遵循@Ilirium指定的说明,但是只需要复制/重命名sudo xcode-select -s /Library/Developer/CommandLineTools10.13_Xcode9.4.1
目录。
答案 2 :(得分:0)
这些说明对我有用。 @PaulMasri-Stone - 而不是将 xcode 指向根目录,我必须像这样将它指向 CommandLineTools 目录:
sudo xcode-select -s ~/projects/tools/llvm1131/CommandLineTools/