Как переключаться между несколькими установками инструментов командной строки в Mac OS X (без установки XCode)
Можно ли установить и переключаться между несколькими версиями инструментов командной строки в 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 и я предпочитаю не устанавливать его. Все, что мне нужно, это инструменты командной строки.
3 ответа
Я попытался сделать то же самое и после некоторых экспериментов нашел следующее решение. Да, это возможно, но вам нужно скопировать / переименовать весь /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) скопировать всю папку разработчика:
$ cp -R /Library/Developer/ ~/Project/tools/Developer10b5/
5) затем загрузите и установите инструменты командной строки для Xcode, например, 9.4.1 версии
6) скопировать всю папку разработчика:
$ 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
Для тех, у кого есть такая проблема, как @PaulMasri-Stone, я обнаружил, что после удаления ранее установленного Xcode (установка нескольких версий Xcode не была возможна на моем компьютере из-за места), указанный выше метод также дал мне `` недопустимый разработчик каталог 'ошибка.
Я решил эту проблему, набрав sudo xcode-select -r
для сброса к инструментам командной строки по умолчанию (и сброса любого другого базового состояния, которое система использует для отслеживания местоположения SDK - и отсутствия Xcode), а затем sudo xcode-select -s /Library/Developer/CommandLineTools10.13_Xcode9.4.1
. Обратите внимание, чтоsudo xcode-select -s /Library/Developer
бы не работать для меня, так же как и проблема, что @PaulMasri-камень.
В противном случае вы захотите следовать инструкциям, указанным @Ilirium, но вам нужно только скопировать / переименовать CommandLineTools
каталог.
Эти инструкции сработали для меня. @PaulMasri-Stone - вместо того, чтобы указывать xcode на корневой каталог, мне пришлось указать его на каталог CommandLineTools следующим образом:
sudo xcode-select -s ~/projects/tools/llvm1131/CommandLineTools/