Проблемы с установкой инструментов командной строки Xcode 10.2 beta и дополнительных инструментов

Я загрузил бета-версию Xcode 10.2 с https://developer.apple.com/download/, разархивировал и переместил в папку приложений. Я также загрузил «Дополнительные инструменты для бета-версии Xcode 10.2» и «Инструменты командной строки (MacOS 10.14) для бета-версии Xcode 10.2» с сайта https://developer.apple.com/download/more/.

Примечание: это чистая установка macOS Mojave 10.14.3.

Установка дополнительных инструментов для бета-версии Xcode 10.2

Я дважды щелкнул dmg «Дополнительные инструменты», и он просто открыл окно Finder. Никакой установки, только папки с инструментами (Аудио, Графика, Оборудование, Утилиты) и несколько PDF-файлов. Итак, я открыл приложение Xcode-beta, и оно автоматически запустило установку дополнительных инструментов.

Вопрос № 1: можно ли предположить, что Xcode-beta установит только дополнительную версию инструментов для бета-версии 10.2 (такую ​​же, как и версия dmg, которую я скачал), а не последнюю не-бета-версию ?

После того, как Xcode-beta завершила установку дополнительных инструментов, не было никаких признаков того, что папки, подобные тем, которые появляются в dmg «Дополнительные инструменты», были установлены где-либо в каком-либо каталоге.

Вопрос № 2 (две части): (1) Если папки, подобные папкам из dmg, нигде не появляются после установки, инициированной Xcode-beta, то что было установлено Xcode-beta и (2) Есть ли разница между дополнительными инструментами, устанавливаемыми Xcode-beta, и дополнительными инструментами, которые есть в dmg?

Основываясь на исследовании установки дополнительных инструментов Xcode, я попытался после установки Xcode-beta перетащить папки из dmg «Дополнительные инструменты» в папку Xcode-beta / Contents / Applications (не < em> Xcode-beta / Contents / Developer / Applications). Когда я запустил Xcode-beta после этого, эти папки действительно появлялись в меню Xcode> Открыть инструмент разработчика, но только папки, без иерархии навигации, ведущей к инструментам.

Вопрос № 3: как правильно установить эти папки и инструменты из dmg «Дополнительные инструменты»?

Установка инструментов командной строки для бета-версии Xcode 10.2

Для инструментов командной строки я дважды щелкнул загруженный dmg инструментов командной строки и получил файл «Инструменты командной строки (macOS Mojave версии 10.14) .pkg». Я дважды щелкнул файл pkg, и установка началась. Но когда я дошел до шага, на котором нажимаю «Установить» и ввожу свой пароль, я получаю сообщение:

«Ошибка установки. Установщику не удалось установить программное обеспечение. Установщику не удалось установить программное обеспечение, потому что не было найдено программное обеспечение для установки».

Я загрузил dmg второй раз, чтобы убедиться, что у меня есть полный файл, но результат был таким же. Итак, я решил установить инструменты командной строки из терминала. Я побежал:

sudo xcode-select --switch /Applications/Xcode-beta.app

с последующим

xcode-select --install

Ответ был:

xcode-select: note: install requested for command line developer tools

Вот и все. Затем я побежал:

xcode-select --version

и ответ был:

xcode-select version 2354

Вопрос № 4 (две части): (1) 2354 указывает версию инструментов командной строки, и, если да, (2) та же версия, что и бета-версия 10.2, которую я скачал?

Я не смог найти на сайте загрузки Apple Developer ничего о том, какой номер версии у инструментов командной строки 10.2 beta.

Вопрос № 5 (две части): (1) Успешно ли я установил правильную версию инструментов командной строки и, если нет, (2) как мне их правильно установить?


Обновление №1: только что запустил pkgutil --pkg-info=com.apple.pkg.CLTools_Executables, и получил следующий ответ:

package-id: com.apple.pkg.CLTools_Executables
version: 10.1.0.0.1.1539992718
volume: /
location: /
install-time: 1548388461
groups: com.apple.FindSystemFiles.pkg-group 

Я думаю, что версия должна быть 10.2.something, и поэтому xcode-select --install не установил бета-версию 10.2.

Обновление №2: только что загрузил «Инструменты командной строки (MacOS 10.14) для Xcode 10.1», дважды щелкнул файл pkg, и он установился нормально. Итак, похоже, что либо что-то не так с файлом pkg 10.2 beta, либо какое-то несоответствие между ним и моей системой, хотя, как я уже упоминал, я делаю это при новой установке macOS Mojave 10.14.3. Не знаю, сохранилась бы проблема, если бы я использовал 10.14.2 или более раннюю версию.

Обновление №3: экспериментируя, я в итоге получил сообщение об ошибке:

... .pkg использует устаревший формат до 10.2 (или использует более новый формат, но недействителен)

Поэтому я обновился до бета-версии macOS 10.14.4 (возможно, «более новый формат»), чтобы посмотреть, позволит ли это мне установить CLT, но результат тот же. Похоже, что есть набор инструментов командной строки, который по умолчанию устанавливается вместе с Xcode, который находится в Xcode-beta.app/Contents, и их можно выбрать в настройках Xcode в разделе «Местоположения», но они похоже, это не те инструменты, которые были бы установлены загружаемым .dmg с сайта разработчиков Apple.

Мне удалось перетащить файл .pkg CLT в служебную программу пакета Pacifist, затем в < em> Содержимое (не Ресурсы), щелкните правой кнопкой мыши пакет верхнего уровня и выберите «Установить». Кажется, что вся CLT устанавливается в / Library / Developer, как и следовало ожидать. Обратные стороны заключаются в том, что установка через Pacifist обходит файл .exe "Распространение", квитанция не генерируется (хотя я не знаю, генерируются ли квитанции для всех установок .pkg или только при установке из App Store), и нет запись делается в файле /var/log/install.log. Итак, когда вы бежите

pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

ты получаешь:

No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

Я не знаю, каковы будут побочные эффекты этого. Если они минимальны или отсутствуют, возможно, на данный момент это единственный способ установить загружаемый CLT. Это также кажется ценным только в том случае, если у вас не было предыдущих установок CLT, потому что Pacifist не может обрабатывать пакеты удаления, которые являются частью установки для предыдущих версий CLT.

Обновление №4: для загруженного .dmg «Дополнительные инструменты» для бета-версии Xcode 10.2, поскольку у него нет установщика, только папки, я скопировал каждый файл .app в папках в Xcode-beta. .app / Contents / Applications, и все они теперь доступны и исполняются из меню Xcode-beta Xcode> Открыть инструмент разработчика. Несколько вещей, которые не были файлами .app (например, Network Link Conditioner.prefPane), я скопировал в Xcode-beta.app/Contents в их исходные имена папок (например, Xcode-beta. app / Contents / Hardware / Network Link Conditioner.prefPane). Я не знаю, влияет ли это на их удобство использования или на способность каких-либо приложений, которым они могут понадобиться для доступа к ним, но без каких-либо дополнительных указаний это казалось разумным делом на данный момент.


Итак, в диапазоне от «Этот процесс установки действительно неудачный» до «Я действительно тупой», я еще не уверен, к чему это приведет. Но, бета или нет, включение основных инструкций по установке в примечания к выпуску требует слишком многого? (Возможно, это риторический вопрос, в отличие от вопроса №6.)


person eggroll    schedule 25.01.2019    source источник
comment
# 1, если в вашей системе есть только бета-версия Xcode, то да, бета-версия Xcode установит только бета-инструменты. Если у вас установлено несколько версий Xcode, вы можете использовать xcode-select для переключения между инструментами, которые хотите использовать.   -  person Cœur    schedule 27.01.2019
comment
Как Xcode устанавливает CLT для бета-версии 10.2? В бета-версии Xcode я могу перейти в меню «Настройки»> «Местоположение» и выбрать Xcode 10.2 (10P82s) для инструментов командной строки, но при этом ничего не будет установлено. Если в терминале я запускаю Xcode-select -p, я получаю /Applications/Xcode-beta.app/Contents/Developer и с / usr / bin / xcodebuild -version, я получаю Xcode 10.2, но если я затем запускаю xcode -select --install, устанавливает CLT версии 10.1.   -  person eggroll    schedule 28.01.2019


Ответы (1)


Просто информация: в выводе pkgutil в конце строки «версия» длинное целое число - это временная метка Unix для даты создания CLT. Для меня:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 11.0.0.0.1.1567737322
volume: /
location: /
install-time: 1572589224
groups: com.apple.FindSystemFiles.pkg-group
$ date -r 1567737322 +"%d-%b-%Y %T"
06-Sep-2019 04:35:22
$
person Maurizio Loreti    schedule 01.11.2019